Hamcrest - Проверьте, содержит ли список карт другой список карт - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть два списка карт, но одна больше другой, и с помощью Hamcrest я пытаюсь найти способ выполнить это утверждение, однако я пока не нашел способа сопоставить их. Это те списки, которые у меня есть

        List<Map<String,Object>> test1 = new ArrayList<>();
        Map<String, Object> test = new HashMap<>();
        test.put("item1", 123);
        test.put("item2", "blabla");
        test1.add(test);

        List<Map<String,Object>> testL2 = new ArrayList<>();
        Map<String, Object> test2 = new HashMap<>();
        test2.put("item1", 123);
        test2.put("item2", "blabla");
        test2.put("item3", "blabla");
        testL2.add(test2);

Я уже пытался использовать много совпадений с подколенным сухожилием, однако ни один из них не соответствовал элементам. Пример:

        assertThat(Arrays.asList(test1), everyItem(isIn(Arrays.asList(testL2))));
        assertThat(test1.toArray(), hasItemInArray(testL2.toArray()));
        assertThat(testL2, CollectionMatchersIt.containsInAnyOrder(test1));
        assertThat(testL2, containsInAnyOrder(test1))
        assertThat(testL2, hasItems(test1))

и многие другие .... но ни один из них не сработал.

Кто-нибудь знает, как я могу проверить, содержится ли test1 в test2?

...