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