如何断言列表中存在(或不存在)具有给定枚举作为属性的对象?
how to assert there is (or not) an object in a list with a given enum as an attribute?
如果class
定义为
public class MyClass {
private long id;
private MyEnum myEnum;
// getter and setters
}
和MyEnumClass
定义为
public enum MyEnum {
VALUE_A, VALUE_B, VALUE_C;
}
测试如何确保 List<MyClass>
不包含 MyClass
的任何实例,例如 MyClass
.enum
是 VALUE_C
?
您可以这样查看:
boolean result = myClassList.stream().map(MyClass::getMyEnum).noneMatch(MyEnum.VALUE_C::equals);
使用流的单行解决方案API:
assert(list.stream().noneMatch(element -> MyEnum.VALUE_C.equals(element.getEnum())));
如果class
定义为
public class MyClass {
private long id;
private MyEnum myEnum;
// getter and setters
}
和MyEnumClass
定义为
public enum MyEnum {
VALUE_A, VALUE_B, VALUE_C;
}
测试如何确保 List<MyClass>
不包含 MyClass
的任何实例,例如 MyClass
.enum
是 VALUE_C
?
您可以这样查看:
boolean result = myClassList.stream().map(MyClass::getMyEnum).noneMatch(MyEnum.VALUE_C::equals);
使用流的单行解决方案API:
assert(list.stream().noneMatch(element -> MyEnum.VALUE_C.equals(element.getEnum())));