我需要一个方法,可以在junit的assertTrue()
方法内调用,该方法比较两个布尔值是否相等,并返回一个布尔值。例如,像这样:
boolean isEqual = Boolean.equals(bool1, bool2);
如果它们不相等,应返回false;如果它们相等,则返回true。我已经查看了Boolean类,但唯一接近的是Boolean.compare(),它返回一个int值,我不能使用。
==
运算符适用于布尔值。
boolean isEqual = (bool1 == bool2);
(圆括号并非必需,但有助于阅读。)
import org.junit.Test;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
public class BooleanEqualityTest {
@Test
public void equalBooleans() {
boolean boolVar1 = true;
boolean boolVar2 = true;
assertTrue(boolVar1 == boolVar2);
assertThat(boolVar1, is(equalTo(boolVar2)));
}
}
boolean isEqual = !(bool1 ^ bool2);
按位异或(exclusive or)"^"是Java中的一个运算符,如果其操作数中的两个位不同,则提供答案'1',如果两个位相同,则异或运算符给出结果'0'。
XNOR门是数字逻辑门,其功能是Exclusive OR(XOR)门的逻辑补码。
assertTrue(bool1 == bool2)
的意思是断言bool1
和bool2
的值相等,如果不相等则会抛出异常。 - Vogel612assertEqualw(bool1, bool2)
? - Stefan Birkner