2 * (C) Copyright 2016 Pantheon Technologies, s.r.o. and others.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org.opendaylight.yangtools.triemap;
18 import java.util.HashSet;
19 import java.util.Iterator;
21 import java.util.Map.Entry;
22 import java.util.Random;
24 import org.junit.Test;
26 public class TestMapIterator {
28 public void testMapIterator () {
29 for (int i = 0; i < 60 * 1000; i+= 400 + new Random ().nextInt (400)) {
30 System.out.println (i);
31 final Map<Integer, Integer> bt = new TrieMap <> ();
32 for (int j = 0; j < i; j++) {
33 TestHelper.assertEquals (null, bt.put (Integer.valueOf (j), Integer.valueOf (j)));
36 final Set<Integer> set = new HashSet<> ();
37 for (final Map.Entry<Integer, Integer> e : bt.entrySet ()) {
38 set.add (e.getKey ());
41 for (final Integer j : set) {
42 TestHelper.assertTrue (bt.containsKey (j));
44 for (final Integer j : bt.keySet ()) {
45 TestHelper.assertTrue (set.contains (j));
48 TestHelper.assertEquals (i, count);
49 TestHelper.assertEquals (i, bt.size ());
51 for (Entry<Integer, Integer> e : bt.entrySet ()) {
52 TestHelper.assertTrue (e.getValue () == bt.get (e.getKey ()));
53 e.setValue (e.getValue () + 1);
54 TestHelper.assertTrue (e.getValue () == e.getKey () + 1);
55 TestHelper.assertTrue (e.getValue () == bt.get (e.getKey ()));
56 e.setValue (e.getValue () - 1);
59 for (final Iterator<Integer> iter = bt.keySet ().iterator (); iter.hasNext ();) {
60 final Integer k = iter.next ();
61 TestHelper.assertTrue (bt.containsKey (k));
63 TestHelper.assertFalse (bt.containsKey (k));
66 TestHelper.assertEquals (0, bt.size ());
67 TestHelper.assertTrue (bt.isEmpty ());