1 package org.opendaylight.yangtools.triemap;
3 import java.util.HashSet;
4 import java.util.Iterator;
6 import java.util.Map.Entry;
7 import java.util.Random;
10 import org.junit.Test;
12 public class TestMapIterator {
14 public void testMapIterator () {
15 for (int i = 0; i < 60 * 1000; i+= 400 + new Random ().nextInt (400)) {
16 System.out.println (i);
17 final Map<Integer, Integer> bt = new TrieMap <Integer, Integer> ();
18 for (int j = 0; j < i; j++) {
19 TestHelper.assertEquals (null, bt.put (Integer.valueOf (j), Integer.valueOf (j)));
22 final Set<Integer> set = new HashSet<Integer> ();
23 for (final Map.Entry<Integer, Integer> e : bt.entrySet ()) {
24 set.add (e.getKey ());
27 for (final Integer j : set) {
28 TestHelper.assertTrue (bt.containsKey (j));
30 for (final Integer j : bt.keySet ()) {
31 TestHelper.assertTrue (set.contains (j));
34 TestHelper.assertEquals (i, count);
35 TestHelper.assertEquals (i, bt.size ());
37 for (final Iterator<Map.Entry<Integer, Integer>> iter = bt.entrySet ().iterator (); iter.hasNext ();) {
38 final Entry<Integer, Integer> e = iter.next ();
39 TestHelper.assertTrue (e.getValue () == bt.get (e.getKey ()));
40 e.setValue (e.getValue () + 1);
41 TestHelper.assertTrue (e.getValue () == e.getKey () + 1);
42 TestHelper.assertTrue (e.getValue () == bt.get (e.getKey ()));
43 e.setValue (e.getValue () - 1);
46 for (final Iterator<Integer> iter = bt.keySet ().iterator (); iter.hasNext ();) {
47 final Integer k = iter.next ();
48 TestHelper.assertTrue (bt.containsKey (k));
50 TestHelper.assertFalse (bt.containsKey (k));
53 TestHelper.assertEquals (0, bt.size ());
54 TestHelper.assertTrue (bt.isEmpty ());