如何断言列表中存在(或不存在)具有给定枚举作为属性的对象?

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.enumVALUE_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())));