/* * Copyright 2015-present 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)); } }