【问题标题】:Matcher on multiple properties simultaneously on a Collection在一个集合上同时对多个属性进行匹配
【发布时间】:2014-07-16 03:21:52
【问题描述】:

是否可以在Collection 中的每个匹配项上测试多个条件?

我有一个包含给定对象的集合:

obj1:property1=A1,property2=B1

obj2:property1=A2,property2=B2

obj3:property1=A3,property2=B3

obj4:property1=A4,property2=B4

我想检查property1property2 是否同时指定了值。

感谢您的任何建议。

【问题讨论】:

标签: java junit hamcrest


【解决方案1】:

当然,这是可能的。它看起来像这样:

Matcher<Item> matcher = new BaseMatcher<Item>() {

    @Override
    public boolean matches(Object item) {
        Item myItem = (Item) item;
        return check(myItem.property1, myItem.property2);
    }

    @Override
    public void describeTo(Description description) {
        // describe it
    }

}

check 函数必须测试property1property2 的组合。这可能是使用HashMap 最简单的方法,当然除非有某种方法可以从另一个计算一个或类似的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多