1 package org.opendaylight.yangtools.triemap;
6 public class TestHashCollisions {
8 public void testHashCollisions () {
9 final TrieMap<Object, Object> bt = new TrieMap<> ();
61 System.out.println (bt);
64 private static void insertChars (final TrieMap<Object, Object> bt) {
65 TestHelper.assertEquals (null, bt.put ('a', 'a'));
66 TestHelper.assertEquals (null, bt.put ('b', 'b'));
67 TestHelper.assertEquals (null, bt.put ('c', 'c'));
68 TestHelper.assertEquals (null, bt.put ('d', 'd'));
69 TestHelper.assertEquals (null, bt.put ('e', 'e'));
71 TestHelper.assertEquals ('a', bt.put ('a', 'a'));
72 TestHelper.assertEquals ('b', bt.put ('b', 'b'));
73 TestHelper.assertEquals ('c', bt.put ('c', 'c'));
74 TestHelper.assertEquals ('d', bt.put ('d', 'd'));
75 TestHelper.assertEquals ('e', bt.put ('e', 'e'));
78 private static void insertStrings (final TrieMap<Object, Object> bt) {
79 TestHelper.assertEquals (null, bt.put ("a", "a"));
80 TestHelper.assertEquals (null, bt.put ("b", "b"));
81 TestHelper.assertEquals (null, bt.put ("c", "c"));
82 TestHelper.assertEquals (null, bt.put ("d", "d"));
83 TestHelper.assertEquals (null, bt.put ("e", "e"));
85 TestHelper.assertEquals ("a", bt.put ("a", "a"));
86 TestHelper.assertEquals ("b", bt.put ("b", "b"));
87 TestHelper.assertEquals ("c", bt.put ("c", "c"));
88 TestHelper.assertEquals ("d", bt.put ("d", "d"));
89 TestHelper.assertEquals ("e", bt.put ("e", "e"));
92 private static void insertBytes (final TrieMap<Object, Object> bt) {
93 for (byte i = 0; i < 128 && i >= 0; i++) {
94 final Byte bigB = Byte.valueOf (i);
95 TestHelper.assertEquals (null, bt.put (bigB, bigB));
96 TestHelper.assertEquals (bigB, bt.put (bigB, bigB));
100 private static void insertInts (final TrieMap<Object, Object> bt) {
101 for (int i = 0; i < 128; i++) {
102 final Integer bigI = Integer.valueOf (i);
103 TestHelper.assertEquals (null, bt.put (bigI, bigI));
104 TestHelper.assertEquals (bigI, bt.put (bigI, bigI));
108 private static void removeChars (final TrieMap<Object, Object> bt) {
109 TestHelper.assertTrue (null != bt.lookup ('a'));
110 TestHelper.assertTrue (null != bt.lookup ('b'));
111 TestHelper.assertTrue (null != bt.lookup ('c'));
112 TestHelper.assertTrue (null != bt.lookup ('d'));
113 TestHelper.assertTrue (null != bt.lookup ('e'));
115 TestHelper.assertTrue (null != bt.remove ('a'));
116 TestHelper.assertTrue (null != bt.remove ('b'));
117 TestHelper.assertTrue (null != bt.remove ('c'));
118 TestHelper.assertTrue (null != bt.remove ('d'));
119 TestHelper.assertTrue (null != bt.remove ('e'));
121 TestHelper.assertFalse (null != bt.remove ('a'));
122 TestHelper.assertFalse (null != bt.remove ('b'));
123 TestHelper.assertFalse (null != bt.remove ('c'));
124 TestHelper.assertFalse (null != bt.remove ('d'));
125 TestHelper.assertFalse (null != bt.remove ('e'));
127 TestHelper.assertTrue (null == bt.lookup ('a'));
128 TestHelper.assertTrue (null == bt.lookup ('b'));
129 TestHelper.assertTrue (null == bt.lookup ('c'));
130 TestHelper.assertTrue (null == bt.lookup ('d'));
131 TestHelper.assertTrue (null == bt.lookup ('e'));
134 private static void removeStrings (final TrieMap<Object, Object> bt) {
135 TestHelper.assertTrue (null != bt.lookup ("a"));
136 TestHelper.assertTrue (null != bt.lookup ("b"));
137 TestHelper.assertTrue (null != bt.lookup ("c"));
138 TestHelper.assertTrue (null != bt.lookup ("d"));
139 TestHelper.assertTrue (null != bt.lookup ("e"));
141 TestHelper.assertTrue (null != bt.remove ("a"));
142 TestHelper.assertTrue (null != bt.remove ("b"));
143 TestHelper.assertTrue (null != bt.remove ("c"));
144 TestHelper.assertTrue (null != bt.remove ("d"));
145 TestHelper.assertTrue (null != bt.remove ("e"));
147 TestHelper.assertFalse (null != bt.remove ("a"));
148 TestHelper.assertFalse (null != bt.remove ("b"));
149 TestHelper.assertFalse (null != bt.remove ("c"));
150 TestHelper.assertFalse (null != bt.remove ("d"));
151 TestHelper.assertFalse (null != bt.remove ("e"));
153 TestHelper.assertTrue (null == bt.lookup ("a"));
154 TestHelper.assertTrue (null == bt.lookup ("b"));
155 TestHelper.assertTrue (null == bt.lookup ("c"));
156 TestHelper.assertTrue (null == bt.lookup ("d"));
157 TestHelper.assertTrue (null == bt.lookup ("e"));
160 private static void removeInts (final TrieMap<Object, Object> bt) {
161 for (int i = 0; i < 128; i++) {
162 final Integer bigI = Integer.valueOf (i);
163 TestHelper.assertTrue (null != bt.lookup (bigI));
164 TestHelper.assertTrue (null != bt.remove (bigI));
165 TestHelper.assertFalse (null != bt.remove (bigI));
166 TestHelper.assertTrue (null == bt.lookup (bigI));
170 private static void removeBytes (final TrieMap<Object, Object> bt) {
171 for (byte i = 0; i < 128 && i >= 0; i++) {
172 final Byte bigB = Byte.valueOf (i);
173 TestHelper.assertTrue (null != bt.lookup (bigB));
174 TestHelper.assertTrue (null != bt.remove (bigB));
175 TestHelper.assertFalse (null != bt.remove (bigB));
176 TestHelper.assertTrue (null == bt.lookup (bigB));