Migrate to tech.pantheon.TrieMap
[yangtools.git] / third-party / triemap / src / test / java / org / opendaylight / yangtools / triemap / TestHashCollisions.java
index b422a0bf51833f9725f487a499534a8e8803ac6e..2135af380cb2184e40efa74aed7a56aadf291458 100644 (file)
+/*
+ * (C) Copyright 2016 Pantheon Technologies, s.r.o. and others.
+ *
+ * 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.opendaylight.yangtools.triemap;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 import org.junit.Test;
 
+@Deprecated
 public class TestHashCollisions {
     @Test
-    public void testHashCollisions () {
-        final TrieMap<Object, Object> bt = new TrieMap<> ();
-
-        insertStrings (bt);
-        insertChars (bt);
-        insertInts (bt);
-        insertBytes (bt);
-
-        removeStrings (bt);
-        removeChars (bt);
-        removeInts (bt);
-        removeBytes (bt);
-
-        insertStrings (bt);
-        insertInts (bt);
-        insertBytes (bt);
-        insertChars (bt);
-
-        removeBytes (bt);
-        removeStrings (bt);
-        removeChars (bt);
-        removeInts (bt);
-
-        insertStrings (bt);
-        insertInts (bt);
-        insertBytes (bt);
-        insertChars (bt);
-
-        removeStrings (bt);
-        removeChars (bt);
-        removeInts (bt);
-        removeBytes (bt);
-
-        insertStrings (bt);
-        insertInts (bt);
-        insertBytes (bt);
-        insertChars (bt);
-
-        removeChars (bt);
-        removeInts (bt);
-        removeBytes (bt);
-        removeStrings (bt);
-
-        insertStrings (bt);
-        insertInts (bt);
-        insertBytes (bt);
-        insertChars (bt);
-
-        removeInts (bt);
-        removeBytes (bt);
-        removeStrings (bt);
-        removeChars (bt);
-
-        System.out.println (bt);
+    public void testHashCollisions() {
+        final TrieMap<Object, Object> bt = TrieMap.create();
+
+        insertStrings(bt);
+        insertChars(bt);
+        insertInts(bt);
+        insertBytes(bt);
+
+        removeStrings(bt);
+        removeChars(bt);
+        removeInts(bt);
+        removeBytes(bt);
+
+        insertStrings(bt);
+        insertInts(bt);
+        insertBytes(bt);
+        insertChars(bt);
+
+        removeBytes(bt);
+        removeStrings(bt);
+        removeChars(bt);
+        removeInts(bt);
+
+        insertStrings(bt);
+        insertInts(bt);
+        insertBytes(bt);
+        insertChars(bt);
+
+        removeStrings(bt);
+        removeChars(bt);
+        removeInts(bt);
+        removeBytes(bt);
+
+        insertStrings(bt);
+        insertInts(bt);
+        insertBytes(bt);
+        insertChars(bt);
+
+        removeChars(bt);
+        removeInts(bt);
+        removeBytes(bt);
+        removeStrings(bt);
+
+        insertStrings(bt);
+        insertInts(bt);
+        insertBytes(bt);
+        insertChars(bt);
+
+        removeInts(bt);
+        removeBytes(bt);
+        removeStrings(bt);
+        removeChars(bt);
     }
 
-    private static void insertChars (final TrieMap<Object, Object> bt) {
-        TestHelper.assertEquals (null, bt.put ('a', 'a'));
-        TestHelper.assertEquals (null, bt.put ('b', 'b'));
-        TestHelper.assertEquals (null, bt.put ('c', 'c'));
-        TestHelper.assertEquals (null, bt.put ('d', 'd'));
-        TestHelper.assertEquals (null, bt.put ('e', 'e'));
-
-        TestHelper.assertEquals ('a', bt.put ('a', 'a'));
-        TestHelper.assertEquals ('b', bt.put ('b', 'b'));
-        TestHelper.assertEquals ('c', bt.put ('c', 'c'));
-        TestHelper.assertEquals ('d', bt.put ('d', 'd'));
-        TestHelper.assertEquals ('e', bt.put ('e', 'e'));
+    private static void insertChars(final TrieMap<Object, Object> bt) {
+        assertNull(bt.put('a', 'a'));
+        assertNull(bt.put('b', 'b'));
+        assertNull(bt.put('c', 'c'));
+        assertNull(bt.put('d', 'd'));
+        assertNull(bt.put('e', 'e'));
+
+        assertEquals('a', bt.put('a', 'a'));
+        assertEquals('b', bt.put('b', 'b'));
+        assertEquals('c', bt.put('c', 'c'));
+        assertEquals('d', bt.put('d', 'd'));
+        assertEquals('e', bt.put('e', 'e'));
     }
 
-    private static void insertStrings (final TrieMap<Object, Object> bt) {
-        TestHelper.assertEquals (null, bt.put ("a", "a"));
-        TestHelper.assertEquals (null, bt.put ("b", "b"));
-        TestHelper.assertEquals (null, bt.put ("c", "c"));
-        TestHelper.assertEquals (null, bt.put ("d", "d"));
-        TestHelper.assertEquals (null, bt.put ("e", "e"));
-
-        TestHelper.assertEquals ("a", bt.put ("a", "a"));
-        TestHelper.assertEquals ("b", bt.put ("b", "b"));
-        TestHelper.assertEquals ("c", bt.put ("c", "c"));
-        TestHelper.assertEquals ("d", bt.put ("d", "d"));
-        TestHelper.assertEquals ("e", bt.put ("e", "e"));
+    private static void insertStrings(final TrieMap<Object, Object> bt) {
+        assertNull(bt.put("a", "a"));
+        assertNull(bt.put("b", "b"));
+        assertNull(bt.put("c", "c"));
+        assertNull(bt.put("d", "d"));
+        assertNull(bt.put("e", "e"));
+
+        assertEquals("a", bt.put("a", "a"));
+        assertEquals("b", bt.put("b", "b"));
+        assertEquals("c", bt.put("c", "c"));
+        assertEquals("d", bt.put("d", "d"));
+        assertEquals("e", bt.put("e", "e"));
     }
 
-    private static void insertBytes (final TrieMap<Object, Object> bt) {
+    private static void insertBytes(final TrieMap<Object, Object> bt) {
         for (byte i = 0; i < 128 && i >= 0; i++) {
-            final Byte bigB = Byte.valueOf (i);
-            TestHelper.assertEquals (null, bt.put (bigB, bigB));
-            TestHelper.assertEquals (bigB, bt.put (bigB, bigB));
+            final Byte bigB = Byte.valueOf(i);
+            assertNull(bt.put(bigB, bigB));
+            assertEquals(bigB, bt.put(bigB, bigB));
         }
     }
 
-    private static void insertInts (final TrieMap<Object, Object> bt) {
+    private static void insertInts(final TrieMap<Object, Object> bt) {
         for (int i = 0; i < 128; i++) {
-            final Integer bigI = Integer.valueOf (i);
-            TestHelper.assertEquals (null, bt.put (bigI, bigI));
-            TestHelper.assertEquals (bigI, bt.put (bigI, bigI));
+            final Integer bigI = Integer.valueOf(i);
+            assertNull(bt.put(bigI, bigI));
+            assertEquals(bigI, bt.put(bigI, bigI));
         }
     }
 
-    private static void removeChars (final TrieMap<Object, Object> bt) {
-        TestHelper.assertTrue (null != bt.lookup ('a'));
-        TestHelper.assertTrue (null != bt.lookup ('b'));
-        TestHelper.assertTrue (null != bt.lookup ('c'));
-        TestHelper.assertTrue (null != bt.lookup ('d'));
-        TestHelper.assertTrue (null != bt.lookup ('e'));
-
-        TestHelper.assertTrue (null != bt.remove ('a'));
-        TestHelper.assertTrue (null != bt.remove ('b'));
-        TestHelper.assertTrue (null != bt.remove ('c'));
-        TestHelper.assertTrue (null != bt.remove ('d'));
-        TestHelper.assertTrue (null != bt.remove ('e'));
-
-        TestHelper.assertFalse (null != bt.remove ('a'));
-        TestHelper.assertFalse (null != bt.remove ('b'));
-        TestHelper.assertFalse (null != bt.remove ('c'));
-        TestHelper.assertFalse (null != bt.remove ('d'));
-        TestHelper.assertFalse (null != bt.remove ('e'));
-
-        TestHelper.assertTrue (null == bt.lookup ('a'));
-        TestHelper.assertTrue (null == bt.lookup ('b'));
-        TestHelper.assertTrue (null == bt.lookup ('c'));
-        TestHelper.assertTrue (null == bt.lookup ('d'));
-        TestHelper.assertTrue (null == bt.lookup ('e'));
+    private static void removeChars(final TrieMap<Object, Object> bt) {
+        assertNotNull(bt.get('a'));
+        assertNotNull(bt.get('b'));
+        assertNotNull(bt.get('c'));
+        assertNotNull(bt.get('d'));
+        assertNotNull(bt.get('e'));
+
+        assertNotNull(bt.remove('a'));
+        assertNotNull(bt.remove('b'));
+        assertNotNull(bt.remove('c'));
+        assertNotNull(bt.remove('d'));
+        assertNotNull(bt.remove('e'));
+
+        assertNull(bt.remove('a'));
+        assertNull(bt.remove('b'));
+        assertNull(bt.remove('c'));
+        assertNull(bt.remove('d'));
+        assertNull(bt.remove('e'));
+
+        assertNull(bt.get('a'));
+        assertNull(bt.get('b'));
+        assertNull(bt.get('c'));
+        assertNull(bt.get('d'));
+        assertNull(bt.get('e'));
     }
 
-    private static void removeStrings (final TrieMap<Object, Object> bt) {
-        TestHelper.assertTrue (null != bt.lookup ("a"));
-        TestHelper.assertTrue (null != bt.lookup ("b"));
-        TestHelper.assertTrue (null != bt.lookup ("c"));
-        TestHelper.assertTrue (null != bt.lookup ("d"));
-        TestHelper.assertTrue (null != bt.lookup ("e"));
-
-        TestHelper.assertTrue (null != bt.remove ("a"));
-        TestHelper.assertTrue (null != bt.remove ("b"));
-        TestHelper.assertTrue (null != bt.remove ("c"));
-        TestHelper.assertTrue (null != bt.remove ("d"));
-        TestHelper.assertTrue (null != bt.remove ("e"));
-
-        TestHelper.assertFalse (null != bt.remove ("a"));
-        TestHelper.assertFalse (null != bt.remove ("b"));
-        TestHelper.assertFalse (null != bt.remove ("c"));
-        TestHelper.assertFalse (null != bt.remove ("d"));
-        TestHelper.assertFalse (null != bt.remove ("e"));
-
-        TestHelper.assertTrue (null == bt.lookup ("a"));
-        TestHelper.assertTrue (null == bt.lookup ("b"));
-        TestHelper.assertTrue (null == bt.lookup ("c"));
-        TestHelper.assertTrue (null == bt.lookup ("d"));
-        TestHelper.assertTrue (null == bt.lookup ("e"));
+    private static void removeStrings(final TrieMap<Object, Object> bt) {
+        assertNotNull(bt.get("a"));
+        assertNotNull(bt.get("b"));
+        assertNotNull(bt.get("c"));
+        assertNotNull(bt.get("d"));
+        assertNotNull(bt.get("e"));
+
+        assertNotNull(bt.remove("a"));
+        assertNotNull(bt.remove("b"));
+        assertNotNull(bt.remove("c"));
+        assertNotNull(bt.remove("d"));
+        assertNotNull(bt.remove("e"));
+
+        assertNull(bt.remove("a"));
+        assertNull(bt.remove("b"));
+        assertNull(bt.remove("c"));
+        assertNull(bt.remove("d"));
+        assertNull(bt.remove("e"));
+
+        assertNull(bt.get("a"));
+        assertNull(bt.get("b"));
+        assertNull(bt.get("c"));
+        assertNull(bt.get("d"));
+        assertNull(bt.get("e"));
     }
 
-    private static void removeInts (final TrieMap<Object, Object> bt) {
+    private static void removeInts(final TrieMap<Object, Object> bt) {
         for (int i = 0; i < 128; i++) {
-            final Integer bigI = Integer.valueOf (i);
-            TestHelper.assertTrue (null != bt.lookup (bigI));
-            TestHelper.assertTrue (null != bt.remove (bigI));
-            TestHelper.assertFalse (null != bt.remove (bigI));
-            TestHelper.assertTrue (null == bt.lookup (bigI));
+            final Integer bigI = Integer.valueOf(i);
+            assertNotNull(bt.get(bigI));
+            assertNotNull(bt.remove(bigI));
+            assertNull(bt.remove(bigI));
+            assertNull(bt.get(bigI));
         }
     }
 
-    private static void removeBytes (final TrieMap<Object, Object> bt) {
+    private static void removeBytes(final TrieMap<Object, Object> bt) {
         for (byte i = 0; i < 128 && i >= 0; i++) {
-            final Byte bigB = Byte.valueOf (i);
-            TestHelper.assertTrue (null != bt.lookup (bigB));
-            TestHelper.assertTrue (null != bt.remove (bigB));
-            TestHelper.assertFalse (null != bt.remove (bigB));
-            TestHelper.assertTrue (null == bt.lookup (bigB));
+            final Byte bigB = Byte.valueOf(i);
+            assertNotNull(bt.get(bigB));
+            assertNotNull(bt.remove(bigB));
+            assertNull(bt.remove(bigB));
+            assertNull(bt.get(bigB));
         }
     }
 }