Если вы спрашиваете об операторе присваивания &=
, он сохраняет переменную true, только если правый аргумент также равен true (если он уже был ложным, он останется ложным). Он работает так же, как +=
и a &= b
- это то же самое, что и a = a & b
, оператор &
является логическим соединением (AND).
pass &= test(cnt == 5, test++);
является сокращением для
if( ! test( cnt == 5, test ) )
pass = false;
test++;
Я предполагаю, что он является частью кода модульного тестирования, и утверждает, что cnt == 5, также считая количество тестов и общий результат (успешно или неудачно).
Используя Junit, вам не нужно вручную следить за количеством тестов или конечным результатом, и вы можете написать
assertEquals("count is correct", 5, cnt);
Это также даст полезный вывод, который поможет выяснить, что именно не удалось (например, значение неправильного счета).