Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何以给定的枚举作为属性断言列表中是否存在对象?_Java_Assert - Fatal编程技术网

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)。