BUG-7464: Initial import of java-concurrent-hash-trie-map
[yangtools.git] / third-party / triemap / src / test / java / com / romix / scala / collection / concurrent / TestDelete.java
1 package com.romix.scala.collection.concurrent;\r
2 \r
3 import org.junit.Test;\r
4 \r
5 \r
6 public class TestDelete {\r
7     @Test\r
8     public void testDelete () {\r
9         final TrieMap<Object, Object> bt = new TrieMap<Object, Object> ();\r
10 \r
11         for (int i = 0; i < 10000; i++) {\r
12             TestHelper.assertEquals (null, bt.put (Integer.valueOf (i), Integer.valueOf (i)));\r
13             final Object lookup = bt.lookup (Integer.valueOf (i));\r
14             TestHelper.assertEquals (Integer.valueOf (i), lookup);\r
15         }\r
16         \r
17         checkAddInsert (bt, 536);\r
18         checkAddInsert (bt, 4341);\r
19         checkAddInsert (bt, 8437);\r
20         \r
21         for (int i = 0; i < 10000; i++) {\r
22             boolean removed = null != bt.remove(Integer.valueOf (i));\r
23             TestHelper.assertEquals (Boolean.TRUE, Boolean.valueOf (removed));\r
24             final Object lookup = bt.lookup (Integer.valueOf (i));\r
25             TestHelper.assertEquals (null, lookup);\r
26         }\r
27 \r
28         bt.toString ();\r
29     }\r
30 \r
31     private static void checkAddInsert (final TrieMap<Object, Object> bt, int k) {\r
32         final Integer v = Integer.valueOf (k);\r
33         bt.remove (v);\r
34         Object foundV = bt.lookup (v);\r
35         TestHelper.assertEquals (null, foundV);\r
36         TestHelper.assertEquals (null, bt.put (v, v));\r
37         foundV = bt.lookup (v);\r
38         TestHelper.assertEquals (v, foundV);\r
39         \r
40         TestHelper.assertEquals (v, bt.put (v, Integer.valueOf (-1)));\r
41         TestHelper.assertEquals (Integer.valueOf (-1), bt.put (v, v));\r
42     }\r
43 }\r