2013-06-20 2 views
0

У меня возникла проблема, когда я пытаюсь реализовать некоторые тесты в IOS с помощью OCMOCK; Действительно, мне нужен эквивалент простой mock ary eq, чтобы ожидать, что аргумент массива байтов равен данному массиву. вот пример:Что эквивалентно функции EasyMock.aryEq в OCMOCK

invoked: openConnectionWithJavaLangByteArray:[0xffffffa0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x10] 
expected: openConnectionWithJavaLangByteArray:[0xffffffa0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x10] 

буферов аргументы одинаковы, но нам нужно, как и при реализации в Java, чтобы использовать кратные эк сравнить равенство этих двух буферов. любая помощь? спасибо.

+0

Какой тип этих массивов? символ []? –

ответ

1

Вы можете использовать [OCMArg checkWithBlock:] Пример:

[[yourMockObject expect] someMethodWithParameter:[OCMArg checkWithBlock:^BOOL(id param) 
                { 
                 // assertions with param here. 
                 // return BOOL indicating if the expectation passed or not. 
                }]]; 
[yourMockObject verify]; 
+0

Если массив пользователя является сырым C-типом, я не думаю, что это сработает, но это отличный подход вообще! –

Смежные вопросы