aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-07-02 18:00:39 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2022-07-02 18:00:39 +0200
commit8934b4c48616352468124fd22227f4668a0f3706 (patch)
treea5e744264543d35a4e25d066db66467df8d103d8 /container-search/src/test/java/com
parent47d3107c262de1a0ad69110d81759d30951636b2 (diff)
Add test, faster size, and order primary/secondary as expected.
Diffstat (limited to 'container-search/src/test/java/com')
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/profile/ChainedMapTestCase.java53
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"));
+ }
+}