aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java')
-rw-r--r--framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java b/framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java
new file mode 100644
index 00000000..db6b5fb7
--- /dev/null
+++ b/framework/src/onos/utils/misc/src/test/java/org/onlab/util/DefaultHashMapTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onlab.util;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit tests for {@link DefaultHashMap}.
+ */
+public class DefaultHashMapTest {
+
+ private static final String ONE = "one";
+ private static final String TWO = "two";
+ private static final String THREE = "three";
+ private static final String FOUR = "four";
+
+ private static final String ALPHA = "Alpha";
+ private static final String BETA = "Beta";
+ private static final String OMEGA = "Omega";
+
+ private DefaultHashMap<String, Integer> map;
+ private DefaultHashMap<String, String> chartis;
+
+ private void loadMap() {
+ map.put(ONE, 1);
+ map.put(TWO, 2);
+ }
+
+ private void fortioCharti() {
+ chartis.put(ONE, ALPHA);
+ chartis.put(TWO, BETA);
+ }
+
+ @Test
+ public void nullDefaultIsAllowed() {
+ // but makes this class behave no different than HashMap
+ map = new DefaultHashMap<>(null);
+ loadMap();
+ assertEquals("missing 1", 1, (int) map.get(ONE));
+ assertEquals("missing 2", 2, (int) map.get(TWO));
+ assertEquals("three?", null, map.get(THREE));
+ assertEquals("four?", null, map.get(FOUR));
+ }
+
+ @Test
+ public void defaultToFive() {
+ map = new DefaultHashMap<>(5);
+ loadMap();
+ assertEquals("missing 1", 1, (int) map.get(ONE));
+ assertEquals("missing 2", 2, (int) map.get(TWO));
+ assertEquals("three?", 5, (int) map.get(THREE));
+ assertEquals("four?", 5, (int) map.get(FOUR));
+ }
+
+ @Test
+ public void defaultToOmega() {
+ chartis = new DefaultHashMap<>(OMEGA);
+ fortioCharti();
+ assertEquals("missing 1", ALPHA, chartis.get(ONE));
+ assertEquals("missing 2", BETA, chartis.get(TWO));
+ assertEquals("three?", OMEGA, chartis.get(THREE));
+ assertEquals("four?", OMEGA, chartis.get(FOUR));
+ }
+
+}