【发布时间】:2014-07-15 12:23:52
【问题描述】:
我有一个名为 XxxPredicateFactory 的类,它返回单个谓词或谓词组合。像这样的:
Public class XxxPredicateFactory {
public Predicate<Abc> create() {
if (this) {
return new HelloPredicate<Abc>();
}
else if (that) {
return new WorldPredicate<Abc>();
}
else {
return Predicates.or(new HelloPredicate<Abc>(), new WorldPredicate<Abc>());
}
}
}
对于 if 和 else if,似乎很容易测试,但对于 else 部分,我不太确定如何测试?我怎样才能捕捉到这种情况?
【问题讨论】:
-
创建一个扩展
XxxPredicateFactory的类(因为它不是最终的)并设置实例的内部状态,使this和that都是false。
标签: java functional-programming guava predicate