diff options
Diffstat (limited to 'container-search/src/test/java/com/yahoo')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/query/profile/ChainedMapTestCase.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/ChainedMapTestCase.java b/container-search/src/test/java/com/yahoo/search/query/profile/ChainedMapTestCase.java new file mode 100644 index 00000000000..87459c22d47 --- /dev/null +++ b/container-search/src/test/java/com/yahoo/search/query/profile/ChainedMapTestCase.java @@ -0,0 +1,53 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.search.query.profile; + +import org.junit.Test; + +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * @author baldersheim + */ +public class ChainedMapTestCase { + @Test + public void testIsEmpty() { + assertTrue(new ChainedMap<String, String>(Map.of(), Map.of()).isEmpty()); + assertFalse(new ChainedMap<>(Map.of("k", "v"), Map.of()).isEmpty()); + assertFalse(new ChainedMap<>(Map.of(), Map.of("k", "v")).isEmpty()); + assertFalse(new ChainedMap<>(Map.of("k", "v"), Map.of("k", "v")).isEmpty()); + } + @Test + public void testSize() { + assertEquals(0, new ChainedMap<String, String>(Map.of(), Map.of()).size()); + assertEquals(1, new ChainedMap<>(Map.of("k", "v"), Map.of()).size()); + assertEquals(1, new ChainedMap<>(Map.of(), Map.of("k", "v")).size()); + assertEquals(1, new ChainedMap<>(Map.of("k", "v"), Map.of("k", "v")).size()); + assertEquals(2, new ChainedMap<>(Map.of("k", "v"), Map.of("K", "v")).size()); + assertEquals(2, new ChainedMap<>(Map.of("k", "v"), Map.of("K", "v", "k", "v")).size()); + } + @Test + public void testGetUsesBoth() { + Map<String, String> a = Map.of("a", "a_1"); + Map<String, String> b = Map.of("b", "b_1"); + Map<String, String> ab = Map.of("a", "a_2", "b", "b_2"); + Map<String, String> a_b = new ChainedMap<>(a, b); + assertEquals("a_1", a_b.get("a")); + assertEquals("b_1", a_b.get("b")); + + Map<String, String> b_a = new ChainedMap<>(a, b); + assertEquals("a_1", b_a.get("a")); + assertEquals("b_1", b_a.get("b")); + + Map<String, String> a_ab = new ChainedMap<>(a, ab); + assertEquals("a_1", a_ab.get("a")); + assertEquals("b_2", a_ab.get("b")); + + Map<String, String> ab_a = new ChainedMap<>(ab, a); + assertEquals("a_2", ab_a.get("a")); + assertEquals("b_2", ab_a.get("b")); + } +} |