Я бы предположил, что ваш первый тест [количество тестов 1] == [количество тестов 2] возвращает значение true (или 1), но затем второй тест 1 == [количество тестов 3] не пройден, поскольку в нем 2 элемента. Вы, вероятно, хотите сказать ([test1 count] == [test2 count]) && ([test2 count] == [test3 count]) вместо этого. Это проверяет равенство, используя транзитивное свойство - то есть, если A == B и B == C, то A == C.