Java 如何以给定的枚举作为属性断言列表中是否存在对象?
如果Java 如何以给定的枚举作为属性断言列表中是否存在对象?,java,assert,Java,Assert,如果类定义为 public class MyClass { private long id; private MyEnum myEnum; // getter and setters } 而MyEnumClass定义为 public enum MyEnum { VALUE_A, VALUE_B, VALUE_C; } 测试如何确保列表不包含MyClass的任何实例,其中MyClass枚举例如是VALUE\u C?您可以通过以下方式进行检查: boolean r
类
定义为
public class MyClass {
private long id;
private MyEnum myEnum;
// getter and setters
}
而MyEnumClass
定义为
public enum MyEnum {
VALUE_A, VALUE_B, VALUE_C;
}
测试如何确保
列表
不包含MyClass
的任何实例,其中MyClass
枚举
例如是VALUE\u C
?您可以通过以下方式进行检查:
boolean result = myClassList.stream().map(MyClass::getMyEnum).noneMatch(MyEnum.VALUE_C::equals);
您可以通过以下方式进行检查:
boolean result = myClassList.stream().map(MyClass::getMyEnum).noneMatch(MyEnum.VALUE_C::equals);
使用stream API的一种线性解决方案:
assert(list.stream().noneMatch(element -> MyEnum.VALUE_C.equals(element.getEnum())));
使用stream API的一种线性解决方案:
assert(list.stream().noneMatch(element -> MyEnum.VALUE_C.equals(element.getEnum())));
试着找到这样一个元素(通过迭代和检查值)怎么样?然后让您的测试预期找不到这样的元素,例如,通过检查一些布尔值(期望为false)、计数器(期望为0)或
可选值(期望isPresent()
返回false)。尝试查找这样的元素(通过迭代和检查值)如何?然后让您的测试预期找不到这样的元素,例如,通过检查一些布尔值(期望为false)、计数器(期望为0)或可选值(期望isPresent()
返回false)。