对Multimap中的任何两个值进行断言,其值存储为List

问题描述 投票:0回答:1

我正在使用ListMultimap<String, List<String>>番石榴相关性来存储以下类型的值

key: "fruit" values: <apple, orange, banana>
key: "fruit" values: <apple, strawberry, blueberry>
key: "fruit" values: <orange, blueberry, banana, apple> 

如果值包含=橙色,蓝莓,我必须声明条件。

i可以对整个值进行断言,但不能对映射值内的任何2个值进行断言。

List<String> expectedValue = new ArrayList<>();
expectedValue.add(orange);
expectedValue.add(blueberry);
expectedValue.add(banana);
expectedValue.add(apple);
assertThat(map).containsValues(expectedValue);

任何建议/想法都会有所帮助。我在番石榴中尝试过谓词,但未能成功。

java guava assert
1个回答
0
投票
您可以使用ErrorCollector声明一组这样的语句

class Test { Rule public ErrorCollector collector = ne ErrorCollector(); Test public void shouldDoSomething() { List<String> actualValues= map.get("fruit); collector.checkThat(actualValues.contains("orange"), equalTo(true)); collector.checkThat(actualValues.contains("blueberry"), equalTo(true)); collector.checkThat(actualValues.contains("banana"), equalTo(true)); collector.checkThat(actualValues.contains("apple"), equalTo(true)); } }

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.