1ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.util; 2cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath/* 4cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Licensed to the Apache Software Foundation (ASF) under one or more 5cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * contributor license agreements. See the NOTICE file distributed with 6cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * this work for additional information regarding copyright ownership. 7cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * The ASF licenses this file to You under the Apache License, Version 2.0 8cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * (the "License"); you may not use this file except in compliance with 9cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * the License. You may obtain a copy of the License at 10cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * 11cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * http://www.apache.org/licenses/LICENSE-2.0 12cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * 13cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Unless required by applicable law or agreed to in writing, software 14cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * distributed under the License is distributed on an "AS IS" BASIS, 15cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * See the License for the specific language governing permissions and 17cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * limitations under the License. 18cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 19cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 20cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport junit.framework.TestCase; 21ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathimport org.apache.harmony.tests.java.util.TreeMapTest.MockComparator; 22cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Collection; 23cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Collections; 24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Comparator; 25cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Iterator; 26cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Map; 27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Map.Entry; 28cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.NavigableMap; 29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.NavigableSet; 30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.NoSuchElementException; 31cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Set; 32cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.SortedMap; 33cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.SortedSet; 34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.TreeMap; 35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath// 37cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class TreeMapExtendTest extends TestCase { 38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap tm; 40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap tm_comparator; 42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_default; 44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startExcluded_endExcluded; 46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startExcluded_endIncluded; 48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startIncluded_endExcluded; 50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startIncluded_endIncluded; 52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_default_beforeStart_100; 54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_default_afterEnd_109; 56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap navigableMap_startExcluded_endExcluded; 58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap navigableMap_startExcluded_endIncluded; 60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap navigableMap_startIncluded_endExcluded; 62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap navigableMap_startIncluded_endIncluded; 64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_default_comparator; 66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startExcluded_endExcluded_comparator; 68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startExcluded_endIncluded_comparator; 70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startIncluded_endExcluded_comparator; 72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startIncluded_endIncluded_comparator; 74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object objArray[] = new Object[1000]; 76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_TreeMap_Constructor_Default() { 78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap treeMap = new TreeMap(); 79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(treeMap.isEmpty()); 80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.comparator()); 81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, treeMap.size()); 82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath treeMap.firstKey(); 85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.firstEntry()); 90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath treeMap.lastKey(); 93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 95cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 96cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 97cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.lastEntry()); 98cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 99cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath treeMap.ceilingKey(1); 101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.ceilingEntry(1)); 105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath treeMap.floorKey(1); 108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.floorEntry(1)); 112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.lowerKey(1)); 113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.lowerEntry(1)); 114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.higherKey(1)); 115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.higherEntry(1)); 116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(treeMap.containsKey(1)); 117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(treeMap.containsValue(1)); 118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.get(1)); 119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.pollFirstEntry()); 121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(treeMap.pollLastEntry()); 122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, treeMap.values().size()); 123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_TreeMap_Constructor_Comparator() { 126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath MockComparator mockComparator = new MockComparator(); 127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap treeMap = new TreeMap(mockComparator); 128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(mockComparator, treeMap.comparator()); 130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_TreeMap_Constructor_Map() { 133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap treeMap = new TreeMap(tm); 134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.size(), treeMap.size()); 135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.firstKey(), treeMap.firstKey()); 136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.firstEntry(), treeMap.firstEntry()); 137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.lastKey(), treeMap.lastKey()); 138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.lastEntry(), treeMap.lastEntry()); 139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.keySet(), treeMap.keySet()); 140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(100).toString(); 142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.ceilingKey(key), treeMap.ceilingKey(key)); 143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.ceilingEntry(key), treeMap.ceilingEntry(key)); 144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.floorKey(key), treeMap.floorKey(key)); 145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.floorEntry(key), treeMap.floorEntry(key)); 146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.lowerKey(key), treeMap.lowerKey(key)); 147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.lowerEntry(key), treeMap.lowerEntry(key)); 148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.higherKey(key), treeMap.higherKey(key)); 149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.higherEntry(key), treeMap.higherEntry(key)); 150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.entrySet(), treeMap.entrySet()); 151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_TreeMap_Constructor_SortedMap() { 154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap treeMap = new TreeMap(subMap_default); 155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(subMap_default.size(), treeMap.size()); 156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(subMap_default.firstKey(), treeMap.firstKey()); 157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(subMap_default.lastKey(), treeMap.lastKey()); 158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(subMap_default.keySet(), treeMap.keySet()); 159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(subMap_default.entrySet(), treeMap.entrySet()); 160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_TreeMap_clear() { 163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm.clear(); 164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, tm.size()); 165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_TreeMap_clone() { 168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap cloneTreeMap = (TreeMap) tm.clone(); 169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm, cloneTreeMap); 170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_Constructor() { 173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_clear() { 176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.clear(); 177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subMap_default.size()); 178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_comparator() { 181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(tm.comparator(), subMap_default.comparator()); 182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_containsKey() { 185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = null; 186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int counter = 101; counter < 109; counter++) { 187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[counter].toString(); 188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", subMap_default 189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(key)); 190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.containsKey(key)); 192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.containsKey(key)); 194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.containsKey(key)); 196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.containsKey(key)); 198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Check boundary 201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[100].toString(); 202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", subMap_default 203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(key)); 204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.containsKey(key)); 206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.containsKey(key)); 208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.containsKey(key)); 210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.containsKey(key)); 212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[109].toString(); 214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", subMap_default 215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(key)); 216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.containsKey(key)); 218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.containsKey(key)); 220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.containsKey(key)); 222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.containsKey(key)); 224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int counter = 101; counter < 109; counter++) { 227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[counter].toString(); 228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.containsKey(key)); 230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator 232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(key)); 233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator 235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(key)); 236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator 238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(key)); 239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator 241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(key)); 242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Check boundary 245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[100].toString(); 246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.containsKey(key)); 248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator.containsKey(key)); 250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator.containsKey(key)); 252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator.containsKey(key)); 254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator.containsKey(key)); 256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[109].toString(); 258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.containsKey(key)); 260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator.containsKey(key)); 262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator.containsKey(key)); 264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator.containsKey(key)); 266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator.containsKey(key)); 268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_containsValue() { 271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object value = null; 272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int counter = 101; counter < 109; counter++) { 273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = objArray[counter]; 274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", subMap_default 275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsValue(value)); 276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.containsValue(value)); 278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.containsValue(value)); 280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.containsValue(value)); 282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.containsValue(value)); 284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Check boundary 287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = objArray[100]; 288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", subMap_default 289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsValue(value)); 290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.containsValue(value)); 292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.containsValue(value)); 294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.containsValue(value)); 296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.containsValue(value)); 298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = objArray[109]; 300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", subMap_default 301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsValue(value)); 302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.containsValue(value)); 304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.containsValue(value)); 306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse("SubMap contains incorrect elements", 307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.containsValue(value)); 308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue("SubMap contains incorrect elements", 309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.containsValue(value)); 310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_default.containsValue(null)); 312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap tm_null = new TreeMap(); 314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm_null.put("0", 1); 315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm_null.put("1", null); 316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm_null.put("2", 2); 317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap = tm_null.subMap("0", "2"); 318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.containsValue(null)); 319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap.remove("1"); 321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.containsValue(null)); 322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_entrySet() { 325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = subMap_default.entrySet(); 326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.isEmpty()); 327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, entrySet.size()); 328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded.entrySet(); 330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.isEmpty()); 331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, entrySet.size()); 332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded.entrySet(); 334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.isEmpty()); 335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, entrySet.size()); 336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded.entrySet(); 338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.isEmpty()); 339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, entrySet.size()); 340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded.entrySet(); 342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.isEmpty()); 343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, entrySet.size()); 344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_firstKey() { 347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String firstKey1 = new Integer(100).toString(); 348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String firstKey2 = new Integer(101).toString(); 349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, subMap_default.firstKey()); 350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, subMap_startExcluded_endExcluded.firstKey()); 351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, subMap_startExcluded_endIncluded.firstKey()); 352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, subMap_startIncluded_endExcluded.firstKey()); 353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, subMap_startIncluded_endIncluded.firstKey()); 354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.subMap(firstKey1, firstKey1).firstKey(); 357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.subMap(firstKey2, firstKey2) 364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey(); 365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.subMap(firstKey2, firstKey2) 372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey(); 373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.subMap(firstKey1, firstKey1) 380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey(); 381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.subMap(firstKey1, firstKey1) 388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey(); 389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, subMap_default_comparator.firstKey()); 396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, subMap_startExcluded_endExcluded_comparator 397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey()); 398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, subMap_startExcluded_endIncluded_comparator 399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey()); 400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, subMap_startIncluded_endExcluded_comparator 401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey()); 402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, subMap_startIncluded_endIncluded_comparator 403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .firstKey()); 404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.subMap(firstKey1, firstKey1).firstKey(); 407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator.subMap(firstKey2, 414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath firstKey2).firstKey(); 415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator.subMap(firstKey2, 422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath firstKey2).firstKey(); 423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator.subMap(firstKey1, 430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath firstKey1).firstKey(); 431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator.subMap(firstKey1, 438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath firstKey1).firstKey(); 439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_lastKey() { 447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String lastKey1 = new Integer(108).toString(); 448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String lastKey2 = new Integer(109).toString(); 449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey1, subMap_default.lastKey()); 450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey1, subMap_startExcluded_endExcluded.lastKey()); 451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey2, subMap_startExcluded_endIncluded.lastKey()); 452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey1, subMap_startIncluded_endExcluded.lastKey()); 453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey2, subMap_startIncluded_endIncluded.lastKey()); 454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.subMap(lastKey1, lastKey1).lastKey(); 457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.subMap(lastKey1, lastKey1) 464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey(); 465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.subMap(lastKey2, lastKey2) 472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey(); 473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.subMap(lastKey1, lastKey1) 480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey(); 481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.subMap(lastKey2, lastKey2) 488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey(); 489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey1, subMap_default_comparator.lastKey()); 496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey1, subMap_startExcluded_endExcluded_comparator 497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey()); 498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey2, subMap_startExcluded_endIncluded_comparator 499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey()); 500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey1, subMap_startIncluded_endExcluded_comparator 501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey()); 502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(lastKey2, subMap_startIncluded_endIncluded_comparator 503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .lastKey()); 504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.subMap(lastKey1, lastKey1).lastKey(); 507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator.subMap(lastKey1, 514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lastKey1).lastKey(); 515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator.subMap(lastKey2, 522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lastKey2).lastKey(); 523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator.subMap(lastKey1, 530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lastKey1).lastKey(); 531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator.subMap(lastKey2, 538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lastKey2).lastKey(); 539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_get() { 546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // left boundary 547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value = new Integer(100); 548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_default.get(value.toString())); 549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, subMap_startExcluded_endExcluded.get(value 550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, subMap_startExcluded_endIncluded.get(value 552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startIncluded_endExcluded.get(value 554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startIncluded_endIncluded.get(value 556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // normal value 559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(105); 560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_default.get(value.toString())); 561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startExcluded_endExcluded.get(value 562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startExcluded_endIncluded.get(value 564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startIncluded_endExcluded.get(value 566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startIncluded_endIncluded.get(value 568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // right boundary 571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, subMap_default.get(value.toString())); 573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, subMap_startExcluded_endExcluded.get(value 574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startExcluded_endIncluded.get(value 576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, subMap_startIncluded_endExcluded.get(value 578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_startIncluded_endIncluded.get(value 580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator to test inInRange 583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // left boundary 584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_default_comparator.get(value.toString())); 586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // normal value 588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(105); 589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, subMap_default_comparator.get(value.toString())); 590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // right boundary 592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, subMap_default_comparator.get(value.toString())); 594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_headMap() { 597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(99).toString(); 598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.headMap(endKey); 600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.headMap(endKey); 607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.headMap(endKey); 614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.headMap(endKey); 621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.headMap(endKey); 628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap headMap = null; 634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_default.headMap(endKey); 636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, headMap.size()); 637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 638e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 639e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath headMap = subMap_startExcluded_endExcluded.headMap(endKey); 640e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 641e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 642e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 643e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 645e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 646e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath headMap = subMap_startExcluded_endIncluded.headMap(endKey); 647e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 648e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 649e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 650e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endExcluded.headMap(endKey); 653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, headMap.size()); 654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endIncluded.headMap(endKey); 656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, headMap.size()); 657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < 8; i++) { 659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i + j).toString(); 660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_default.headMap(endKey); 661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, headMap.size()); 662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endExcluded.headMap(endKey); 664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, headMap.size()); 665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endIncluded.headMap(endKey); 667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, headMap.size()); 668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endExcluded.headMap(endKey); 670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, headMap.size()); 671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endIncluded.headMap(endKey); 673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, headMap.size()); 674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_default.headMap(endKey); 678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, headMap.size()); 679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endExcluded.headMap(endKey); 681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, headMap.size()); 682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endIncluded.headMap(endKey); 684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, headMap.size()); 685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endExcluded.headMap(endKey); 687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, headMap.size()); 688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endIncluded.headMap(endKey); 690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, headMap.size()); 691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.headMap(endKey); 695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.headMap(endKey); 702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.headMap(endKey); 709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.headMap(endKey); 716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.headMap(endKey); 723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.headMap(endKey); 732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator.headMap(endKey); 739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator.headMap(endKey); 746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator.headMap(endKey); 753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator.headMap(endKey); 760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = null; 766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_default_comparator.headMap(endKey); 768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, headMap.size()); 769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 770e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 771e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath headMap = subMap_startExcluded_endExcluded_comparator.headMap(endKey); 772e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 773e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 774e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 775e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 777e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 778e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath headMap = subMap_startExcluded_endIncluded_comparator.headMap(endKey); 779e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 780e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 781e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 782e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endExcluded_comparator.headMap(endKey); 785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, headMap.size()); 786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endIncluded_comparator.headMap(endKey); 788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, headMap.size()); 789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < 8; i++) { 791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i + j).toString(); 792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_default_comparator.headMap(endKey); 793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, headMap.size()); 794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endExcluded_comparator 796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .headMap(endKey); 797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, headMap.size()); 798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endIncluded_comparator 800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .headMap(endKey); 801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, headMap.size()); 802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endExcluded_comparator 804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .headMap(endKey); 805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, headMap.size()); 806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endIncluded_comparator 808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .headMap(endKey); 809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, headMap.size()); 810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_default_comparator.headMap(endKey); 814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, headMap.size()); 815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endExcluded_comparator.headMap(endKey); 817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(7, headMap.size()); 818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startExcluded_endIncluded_comparator.headMap(endKey); 820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(7, headMap.size()); 821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endExcluded_comparator.headMap(endKey); 823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, headMap.size()); 824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headMap = subMap_startIncluded_endIncluded_comparator.headMap(endKey); 826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, headMap.size()); 827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.headMap(endKey); 831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator.headMap(endKey); 838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator.headMap(endKey); 845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator.headMap(endKey); 852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator.headMap(endKey); 859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_isEmpty() { 866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_default.isEmpty()); 867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startExcluded_endExcluded.isEmpty()); 868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startExcluded_endIncluded.isEmpty()); 869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startIncluded_endExcluded.isEmpty()); 870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startIncluded_endIncluded.isEmpty()); 871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object startKey = new Integer(100); 873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object endKey = startKey; 874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap = tm.subMap(startKey.toString(), endKey.toString()); 875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_default.subMap(startKey.toString(), endKey.toString()); 877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startIncluded_endExcluded.subMap(startKey.toString(), 879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey.toString()); 880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startIncluded_endIncluded.subMap(startKey.toString(), 882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey.toString()); 883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < 8; i++) { 886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = i + j; 887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_default.subMap(startKey.toString(), endKey 890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString()); 891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startExcluded_endExcluded.subMap(startKey 894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startExcluded_endIncluded.subMap(startKey 898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startIncluded_endExcluded.subMap(startKey 902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startIncluded_endIncluded.subMap(startKey 906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < 5; i++) { 911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = i + j; 912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = i + j + 4; 913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_default.subMap(startKey.toString(), endKey 915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString()); 916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.isEmpty()); 917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startExcluded_endExcluded.subMap(startKey 919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.isEmpty()); 921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startExcluded_endIncluded.subMap(startKey 923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.isEmpty()); 925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startIncluded_endExcluded.subMap(startKey 927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.isEmpty()); 929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startIncluded_endIncluded.subMap(startKey 931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), endKey.toString()); 932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.isEmpty()); 933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey.toString(), endKey.toString()); 938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startExcluded_endIncluded.subMap(startKey, endKey); 940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = subMap_startIncluded_endIncluded.subMap(startKey, endKey); 942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.isEmpty()); 943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_keySet() { 947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set keySet = subMap_default.keySet(); 948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.isEmpty()); 949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endExcluded.entrySet(); 952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.isEmpty()); 953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, keySet.size()); 954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endIncluded.entrySet(); 956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.isEmpty()); 957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endExcluded.entrySet(); 960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.isEmpty()); 961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endIncluded.entrySet(); 964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.isEmpty()); 965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, keySet.size()); 966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_put() { 969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value = new Integer(100); 970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int addValue = 5; 971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.put(value.toString(), value + addValue); 973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + addValue, subMap_default.get(value.toString())); 974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.put(value.toString(), value 977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath + addValue); 978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.put(value.toString(), value 985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath + addValue); 986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded 992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .put(value.toString(), value + addValue); 993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + addValue, subMap_startIncluded_endExcluded 994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .get(value.toString())); 995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded 997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .put(value.toString(), value + addValue); 998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + addValue, subMap_startIncluded_endIncluded 999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .get(value.toString())); 1000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 1002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.put(value.toString(), value + addValue); 1004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.put(value.toString(), value 1011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath + addValue); 1012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded 1018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .put(value.toString(), value + addValue); 1019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + addValue, subMap_startExcluded_endIncluded 1020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .get(value.toString())); 1021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.put(value.toString(), value 1024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath + addValue); 1025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded 1031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .put(value.toString(), value + addValue); 1032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + addValue, subMap_startIncluded_endIncluded 1033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .get(value.toString())); 1034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_remove() { 1037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value = new Integer(100); 1038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.remove(value.toString()); 1040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_default.get(value.toString())); 1041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.remove(value.toString()); 1043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startExcluded_endExcluded.get(value.toString())); 1044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.remove(value.toString()); 1046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startExcluded_endIncluded.get(value.toString())); 1047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.remove(value.toString()); 1049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startIncluded_endExcluded.get(value.toString())); 1050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.remove(value.toString()); 1052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startIncluded_endIncluded.get(value.toString())); 1053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 1055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.remove(value.toString()); 1056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_default.get(value.toString())); 1057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.remove(value.toString()); 1059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startExcluded_endExcluded.get(value.toString())); 1060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.remove(value.toString()); 1062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startExcluded_endIncluded.get(value.toString())); 1063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.remove(value.toString()); 1065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startIncluded_endExcluded.get(value.toString())); 1066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.remove(value.toString()); 1068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startIncluded_endIncluded.get(value.toString())); 1069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_subMap_NoComparator() { 1072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer[100].toString(); 1073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer[100].toString(); 1074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.subMap(startKey, endKey); 1076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.subMap(startKey, endKey); 1083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.subMap(startKey, endKey); 1090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.subMap(startKey, endKey); 1097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.subMap(startKey, endKey); 1104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subSubMap = null; 1110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 1112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 1113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_default.subMap(startKey, endKey); 1115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endExcluded.subMap(startKey, 1118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded.subMap(startKey, 1122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endExcluded.subMap(startKey, 1126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded.subMap(startKey, 1130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101, j = 5; i < 105; i++) { 1135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 1136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i + j).toString(); 1137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_default.subMap(startKey, endKey); 1139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endExcluded.subMap(startKey, 1142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded.subMap(startKey, 1146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endExcluded.subMap(startKey, 1150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded.subMap(startKey, 1154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey); 1155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(108).toString(); 1159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 1160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_default.subMap(startKey, endKey); 1162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endExcluded.subMap(startKey, endKey); 1165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded.subMap(startKey, endKey); 1168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endExcluded.subMap(startKey, endKey); 1171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded.subMap(startKey, endKey); 1174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 1177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 1178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.subMap(startKey, endKey); 1181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.subMap(startKey, endKey); 1188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded.subMap(startKey, endKey); 1194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.subMap(startKey, endKey); 1198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded.subMap(startKey, endKey); 1204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_subMap_Comparator() { 1208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer[100].toString(); 1209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer[100].toString(); 1210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.subMap(startKey, endKey); 1212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator 1219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startKey, endKey); 1220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator 1227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startKey, endKey); 1228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator 1235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startKey, endKey); 1236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator 1243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startKey, endKey); 1244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subSubMap = null; 1250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 1252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 1253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_default_comparator.subMap(startKey, endKey); 1255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endExcluded_comparator.subMap( 1258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded_comparator.subMap( 1262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endExcluded_comparator.subMap( 1266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded_comparator.subMap( 1270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101, j = 5; i < 105; i++) { 1275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 1276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i + j).toString(); 1277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_default_comparator.subMap(startKey, endKey); 1279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endExcluded_comparator.subMap( 1282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded_comparator.subMap( 1286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endExcluded_comparator.subMap( 1290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded_comparator.subMap( 1294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j, subSubMap.size()); 1296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(108).toString(); 1299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 1300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_default_comparator.subMap(startKey, endKey); 1302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endExcluded_comparator.subMap( 1305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded_comparator.subMap( 1309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endExcluded_comparator.subMap( 1313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded_comparator.subMap( 1317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSubMap.size()); 1319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 1321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 1322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator.subMap(startKey, endKey); 1325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator 1332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startKey, endKey); 1333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startExcluded_endIncluded_comparator.subMap( 1339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator 1344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startKey, endKey); 1345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSubMap = subMap_startIncluded_endIncluded_comparator.subMap( 1351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey, endKey); 1352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSubMap.size()); 1353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_tailMap() { 1356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(99).toString(); 1357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.tailMap(startKey); 1359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.tailMap(startKey); 1366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.tailMap(startKey); 1373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.tailMap(startKey); 1380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.tailMap(startKey); 1387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap tailMap = null; 1392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 1394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_default.tailMap(startKey); 1395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, tailMap.size()); 1396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.tailMap(startKey); 1399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.tailMap(startKey); 1406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startIncluded_endExcluded.tailMap(startKey); 1412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, tailMap.size()); 1413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startIncluded_endIncluded.tailMap(startKey); 1415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, tailMap.size()); 1416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101, end = 8; i < end; i++) { 1418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i + j).toString(); 1419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_default.tailMap(startKey); 1420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(end - i, tailMap.size()); 1421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startExcluded_endExcluded.tailMap(startKey); 1423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(end - i, tailMap.size()); 1424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startExcluded_endIncluded.tailMap(startKey); 1426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(end - i + 1, tailMap.size()); 1427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startIncluded_endExcluded.tailMap(startKey); 1429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(end - i, tailMap.size()); 1430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startIncluded_endIncluded.tailMap(startKey); 1432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(end - i + 1, tailMap.size()); 1433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 1436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.tailMap(startKey); 1438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.tailMap(startKey); 1444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startExcluded_endIncluded.tailMap(startKey); 1450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailMap.size()); 1451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.tailMap(startKey); 1454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailMap = subMap_startIncluded_endIncluded.tailMap(startKey); 1460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailMap.size()); 1461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 1463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default.tailMap(startKey); 1465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded.tailMap(startKey); 1472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded.tailMap(startKey); 1478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded.tailMap(startKey); 1484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded.tailMap(startKey); 1490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_values() { 1497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collection values = subMap_default.values(); 1498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 1500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(100)); 1501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 1503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(109)); 1505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = subMap_startExcluded_endExcluded.values(); 1507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 1508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(100)); 1509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 1511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(109)); 1513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = subMap_startExcluded_endIncluded.values(); 1515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 1516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(100)); 1517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 1519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(109)); 1521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = subMap_startIncluded_endExcluded.values(); 1523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 1524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(100)); 1525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 1527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(109)); 1529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = subMap_startIncluded_endIncluded.values(); 1531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 1532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(100)); 1533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 109; i++) { 1534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 1535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(109)); 1537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_size() { 1540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_default.size()); 1541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, subMap_startExcluded_endExcluded.size()); 1542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startExcluded_endIncluded.size()); 1543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startIncluded_endExcluded.size()); 1544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, subMap_startIncluded_endIncluded.size()); 1545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_default_comparator.size()); 1547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, subMap_startExcluded_endExcluded_comparator.size()); 1548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startExcluded_endIncluded_comparator.size()); 1549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startIncluded_endExcluded_comparator.size()); 1550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, subMap_startIncluded_endIncluded_comparator.size()); 1551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMap_readObject() throws Exception { 1554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // SerializationTest.verifySelf(subMap_default); 1555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // SerializationTest.verifySelf(subMap_startExcluded_endExcluded); 1556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // SerializationTest.verifySelf(subMap_startExcluded_endIncluded); 1557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // SerializationTest.verifySelf(subMap_startIncluded_endExcluded); 1558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // SerializationTest.verifySelf(subMap_startIncluded_endIncluded); 1559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMap_ceilingEntry() { 1562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(99).toString(); 1563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startExcluded_endExcluded.ceilingEntry(key)); 1564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startExcluded_endIncluded.ceilingEntry(key)); 1565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startIncluded_endExcluded.ceilingEntry(key)); 1566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startIncluded_endIncluded.ceilingEntry(key)); 1567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, navigableMap_startExcluded_endExcluded.ceilingEntry( 1570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, navigableMap_startExcluded_endIncluded.ceilingEntry( 1572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, navigableMap_startIncluded_endExcluded.ceilingEntry( 1574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, navigableMap_startIncluded_endIncluded.ceilingEntry( 1576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startExcluded_endExcluded 1581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .ceilingEntry(key).getValue()); 1582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startExcluded_endIncluded 1583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .ceilingEntry(key).getValue()); 1584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startIncluded_endExcluded 1585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .ceilingEntry(key).getValue()); 1586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startIncluded_endIncluded 1587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .ceilingEntry(key).getValue()); 1588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startExcluded_endExcluded.ceilingEntry(key)); 1593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startExcluded_endIncluded.ceilingEntry( 1594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startIncluded_endExcluded.ceilingEntry(key)); 1596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startIncluded_endIncluded.ceilingEntry( 1597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(110).toString(); 1600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startExcluded_endExcluded.ceilingEntry(key)); 1601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startExcluded_endIncluded.ceilingEntry(key)); 1602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startIncluded_endExcluded.ceilingEntry(key)); 1603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startIncluded_endIncluded.ceilingEntry(key)); 1604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMap_descendingMap() { 1607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap descendingMap = navigableMap_startExcluded_endExcluded 1608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 1609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endExcluded.size(), 1610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.size()); 1611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(descendingMap.comparator()); 1612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endExcluded.firstKey(), 1614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastKey()); 1615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endExcluded.firstEntry(), 1616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastEntry()); 1617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endExcluded.lastKey(), 1619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstKey()); 1620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endExcluded.lastEntry(), 1621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstEntry()); 1622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 1624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endIncluded.size(), 1625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.size()); 1626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(descendingMap.comparator()); 1627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endIncluded.firstKey(), 1629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastKey()); 1630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endIncluded.firstEntry(), 1631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastEntry()); 1632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endIncluded.lastKey(), 1634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstKey()); 1635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startExcluded_endIncluded.lastEntry(), 1636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstEntry()); 1637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 1639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endExcluded.size(), 1640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.size()); 1641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(descendingMap.comparator()); 1642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endExcluded.firstKey(), 1644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastKey()); 1645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endExcluded.firstEntry(), 1646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastEntry()); 1647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endExcluded.lastKey(), 1649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstKey()); 1650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endExcluded.lastEntry(), 1651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstEntry()); 1652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 1654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endIncluded.size(), 1655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.size()); 1656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(descendingMap.comparator()); 1657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endIncluded.firstKey(), 1659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastKey()); 1660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endIncluded.firstEntry(), 1661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.lastEntry()); 1662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endIncluded.lastKey(), 1664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstKey()); 1665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(navigableMap_startIncluded_endIncluded.lastEntry(), 1666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.firstEntry()); 1667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMap_floorEntry() { 1670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(99).toString(); 1671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, navigableMap_startExcluded_endExcluded 1672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startExcluded_endIncluded 1674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, navigableMap_startIncluded_endExcluded 1676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startIncluded_endIncluded 1678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startExcluded_endExcluded.floorEntry(key)); 1682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(navigableMap_startExcluded_endIncluded.floorEntry(key)); 1683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, navigableMap_startIncluded_endExcluded 1684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, navigableMap_startIncluded_endIncluded 1686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startExcluded_endExcluded.floorEntry( 1691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startExcluded_endIncluded.floorEntry( 1693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startIncluded_endExcluded.floorEntry( 1695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, navigableMap_startIncluded_endIncluded.floorEntry( 1697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key).getValue()); 1698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, navigableMap_startExcluded_endExcluded 1703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startExcluded_endIncluded 1705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, navigableMap_startIncluded_endExcluded 1707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startIncluded_endIncluded 1709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(110).toString(); 1712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, navigableMap_startExcluded_endExcluded 1713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startExcluded_endIncluded 1715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, navigableMap_startIncluded_endExcluded 1717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startIncluded_endIncluded 1719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floorEntry(key).getValue()); 1720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMap_pollFirstEntry() { 1723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, navigableMap_startExcluded_endExcluded 1724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollFirstEntry().getValue()); 1725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(102, navigableMap_startExcluded_endIncluded 1726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollFirstEntry().getValue()); 1727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, navigableMap_startIncluded_endExcluded 1728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollFirstEntry().getValue()); 1729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(103, navigableMap_startIncluded_endIncluded 1730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollFirstEntry().getValue()); 1731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMap_pollLastEntry() { 1734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, navigableMap_startExcluded_endExcluded 1735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollLastEntry().getValue()); 1736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, navigableMap_startExcluded_endIncluded 1737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollLastEntry().getValue()); 1738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(107, navigableMap_startIncluded_endExcluded 1739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollLastEntry().getValue()); 1740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(106, navigableMap_startIncluded_endIncluded 1741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .pollLastEntry().getValue()); 1742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMap_entrySet() { 1745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, navigableMap_startExcluded_endExcluded.entrySet() 1746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .size()); 1747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, navigableMap_startExcluded_endIncluded.entrySet() 1748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .size()); 1749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, navigableMap_startIncluded_endExcluded.entrySet() 1750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .size()); 1751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, navigableMap_startIncluded_endIncluded.entrySet() 1752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .size()); 1753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMap_subMap() { 1756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 1757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry startEntry, endEntry; 1758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex, endIndex; 1759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap; 1760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator subMapSetIterator; 1761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 1763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator startIterator = entrySet.iterator(); 1764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (startIterator.hasNext()) { 1765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry = (Entry) startIterator.next(); 1766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startIndex = (Integer) startEntry.getValue(); 1767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator endIterator = entrySet.iterator(); 1768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (endIterator.hasNext()) { 1769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry = (Entry) endIterator.next(); 1770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endIndex = (Integer) endEntry.getValue(); 1771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex > endIndex) { 1773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startExcluded_endExcluded.subMap( 1775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), endEntry.getKey()); 1776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startExcluded_endExcluded.subMap( 1782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), false, endEntry.getKey(), 1783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 1784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startExcluded_endExcluded.subMap( 1790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), false, endEntry.getKey(), 1791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true); 1792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startExcluded_endExcluded.subMap( 1798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), true, endEntry.getKey(), 1799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 1800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 1805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startExcluded_endExcluded.subMap( 1806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), true, endEntry.getKey(), 1807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true); 1808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 1809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 1810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 1811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 1813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = navigableMap_startExcluded_endExcluded.subMap( 1814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), endEntry.getKey()); 1815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMapSetIterator = subMap.entrySet().iterator(); 1816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; index < endIndex; index++) { 1817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subMapSetIterator.next()) 1818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 1819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = navigableMap_startExcluded_endExcluded.subMap( 1822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), false, endEntry.getKey(), 1823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 1824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMapSetIterator = subMap.entrySet().iterator(); 1825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; index < endIndex; index++) { 1826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subMapSetIterator.next()) 1827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 1828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = navigableMap_startExcluded_endExcluded 1831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startEntry.getKey(), false, endEntry 1832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getKey(), true); 1833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMapSetIterator = subMap.entrySet().iterator(); 1834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; index < endIndex; index++) { 1835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subMapSetIterator.next()) 1836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 1837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = navigableMap_startExcluded_endExcluded 1840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(startEntry.getKey(), true, endEntry 1841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getKey(), false); 1842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMapSetIterator = subMap.entrySet().iterator(); 1843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; index < endIndex; index++) { 1844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subMapSetIterator.next()) 1845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 1846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = navigableMap_startExcluded_endExcluded.subMap( 1849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry.getKey(), true, endEntry.getKey(), true); 1850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMapSetIterator = subMap.entrySet().iterator(); 1851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; index <= endIndex; index++) { 1852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subMapSetIterator.next()) 1853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 1854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_ceilingEntry() { 1861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 1862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(-1).toString(); 1863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.ceilingEntry(key)); 1864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < objArray.length; i++) { 1865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[i].toString(); 1866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[i], decendingMap.ceilingEntry(key).getValue()); 1867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1000).toString(); 1869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.ceilingEntry(key).getValue()); 1870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1001).toString(); 1871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.ceilingEntry(key).getValue()); 1872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 1874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.ceilingEntry(key)); 1876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, decendingMap.ceilingEntry(key).getValue()); 1882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 1884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.ceilingEntry(key)); 1886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.ceilingEntry(key).getValue()); 1892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 1894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.ceilingEntry(key).getValue()); 1896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, decendingMap.ceilingEntry(key).getValue()); 1902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 1904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.ceilingEntry(key).getValue()); 1906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.ceilingEntry(key).getValue()); 1912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 1914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 1915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 1916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.ceilingEntry(key)); 1918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, decendingMap.ceilingEntry(key).getValue()); 1924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 1926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 1927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.ceilingEntry(key)); 1929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.ceilingEntry(key).getValue()); 1935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 1937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 1938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.ceilingEntry(key).getValue()); 1940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, decendingMap.ceilingEntry(key).getValue()); 1946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endIncluded_comparator) 1948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 1949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 1950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.ceilingEntry(key).getValue()); 1951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 1952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 1953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.ceilingEntry(key).getValue()); 1954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 1956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.ceilingEntry(key).getValue()); 1957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 1958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_descendingMap() { 1960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 1961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingDecendingMap = decendingMap.descendingMap(); 1962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMap, decendingDecendingMap); 1963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMapHeadMap = decendingMap.headMap( 1965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath new Integer(990).toString(), false); 1966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingDecendingHeadMap = decendingMapHeadMap 1967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 1968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(decendingMapHeadMap); 1969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(decendingDecendingHeadMap); 1970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapHeadMap, decendingDecendingHeadMap); 1971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMapTailMap = decendingMap.tailMap( 1973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath new Integer(990).toString(), false); 1974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingDecendingTailMap = decendingMapTailMap 1975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 1976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(decendingMapTailMap); 1977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(decendingDecendingTailMap); 1978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // assertEquals(decendingMapTailMap,decendingDecendingTailMap); 1979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 1981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingMap = decendingMap.descendingMap(); 1982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMap, decendingDecendingMap); 1983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapHeadMap = decendingMap.headMap(new Integer(104).toString(), 1985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 1986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingHeadMap = decendingMapHeadMap.descendingMap(); 1987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapHeadMap, decendingDecendingHeadMap); 1988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapTailMap = decendingMap.tailMap(new Integer(104).toString(), 1990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 1991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingTailMap = decendingMapTailMap.descendingMap(); 1992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapTailMap, decendingDecendingTailMap); 1993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 1995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingMap = decendingMap.descendingMap(); 1996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMap, decendingDecendingMap); 1997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 1998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapHeadMap = decendingMap.headMap(new Integer(104).toString(), 1999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingHeadMap = decendingMapHeadMap.descendingMap(); 2001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapHeadMap, decendingDecendingHeadMap); 2002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapTailMap = decendingMap.tailMap(new Integer(104).toString(), 2004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingTailMap = decendingMapTailMap.descendingMap(); 2006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapTailMap, decendingDecendingTailMap); 2007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingMap = decendingMap.descendingMap(); 2010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMap, decendingDecendingMap); 2011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapHeadMap = decendingMap.headMap(new Integer(104).toString(), 2013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingHeadMap = decendingMapHeadMap.descendingMap(); 2015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapHeadMap, decendingDecendingHeadMap); 2016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapTailMap = decendingMap.tailMap(new Integer(104).toString(), 2018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingTailMap = decendingMapTailMap.descendingMap(); 2020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapTailMap, decendingDecendingTailMap); 2021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingMap = decendingMap.descendingMap(); 2024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMap, decendingDecendingMap); 2025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapHeadMap = decendingMap.headMap(new Integer(104).toString(), 2027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingHeadMap = decendingMapHeadMap.descendingMap(); 2029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapHeadMap, decendingDecendingHeadMap); 2030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMapTailMap = decendingMap.tailMap(new Integer(104).toString(), 2032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingDecendingTailMap = decendingMapTailMap.descendingMap(); 2034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(decendingMapTailMap, decendingDecendingTailMap); 2035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_firstEntry() { 2038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(999, decendingMap.firstEntry().getValue()); 2040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, decendingMap.firstEntry().getValue()); 2043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.firstEntry().getValue()); 2046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, decendingMap.firstEntry().getValue()); 2049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.firstEntry().getValue()); 2052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_floorEntry() { 2055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(-1).toString(); 2057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, decendingMap.floorEntry(key).getValue()); 2058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < objArray.length; i++) { 2059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = objArray[i].toString(); 2060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[i], decendingMap.floorEntry(key).getValue()); 2061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1000).toString(); 2063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.floorEntry(key).getValue()); 2064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1001).toString(); 2065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.floorEntry(key).getValue()); 2066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.floorEntry(key).getValue()); 2070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.floorEntry(key)); 2076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.floorEntry(key).getValue()); 2080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.floorEntry(key).getValue()); 2086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.floorEntry(key).getValue()); 2090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.floorEntry(key)); 2096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.floorEntry(key).getValue()); 2100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.floorEntry(key).getValue()); 2106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 2108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 2109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.floorEntry(key).getValue()); 2112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.floorEntry(key)); 2118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 2120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.floorEntry(key).getValue()); 2123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.floorEntry(key).getValue()); 2129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 2131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.floorEntry(key).getValue()); 2134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.floorEntry(key)); 2140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endIncluded_comparator) 2142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.floorEntry(key).getValue()); 2145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, decendingMap.floorEntry(key).getValue()); 2148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.floorEntry(key).getValue()); 2151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_lastEntry() { 2154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, decendingMap.lastEntry().getValue()); 2156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.lastEntry().getValue()); 2159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.lastEntry().getValue()); 2162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.lastEntry().getValue()); 2165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.lastEntry().getValue()); 2168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_higherEntry() { 2171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap; 2172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingTailMap; 2173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value; 2174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 2175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(101); 2177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.higherEntry(value.toString())); 2178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 101; i--) { 2180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, entry.getValue()); 2183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, entry.getValue()); 2188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingTailMap = decendingMap.tailMap(new Integer(104).toString(), 2190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingTailMap.higherEntry(value.toString()); 2193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(103, entry.getValue()); 2194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 2197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.higherEntry(value.toString())); 2198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 100; i--) { 2200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, entry.getValue()); 2203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, entry.getValue()); 2208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingTailMap = decendingMap.tailMap(new Integer(104).toString(), 2210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingTailMap.higherEntry(value.toString()); 2213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(103, entry.getValue()); 2214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(101); 2217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.higherEntry(value.toString())); 2218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 109; i > 101; i--) { 2220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, entry.getValue()); 2223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(2); 2226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, entry.getValue()); 2228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingTailMap = decendingMap.tailMap(new Integer(104).toString(), 2230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingTailMap.higherEntry(value.toString()); 2233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(103, entry.getValue()); 2234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 2237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.higherEntry(value.toString())); 2238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 109; i > 100; i--) { 2240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, entry.getValue()); 2243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(2); 2246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.higherEntry(value.toString()); 2247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, entry.getValue()); 2248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingTailMap = decendingMap.tailMap(new Integer(104).toString(), 2250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingTailMap.higherEntry(value.toString()); 2253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(103, entry.getValue()); 2254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_lowerEntry() { 2257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap; 2258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingHeadMap; 2259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value; 2260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 2261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(99); 2263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 108; i++) { 2265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.lowerEntry(value.toString()); 2267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingHeadMap = decendingMap.headMap(new Integer(103).toString(), 2273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 104; i < 106; i++) { 2275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(102); 2280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(104, entry.getValue()); 2282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(entry); 2286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(99); 2289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 109; i++) { 2291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.lowerEntry(value.toString()); 2293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(110); 2296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingHeadMap = decendingMap.headMap(new Integer(103).toString(), 2299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 104; i < 109; i++) { 2301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(102); 2306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(104, entry.getValue()); 2308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(2); 2310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(entry); 2312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(99); 2315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 108; i++) { 2317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.lowerEntry(value.toString()); 2319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(109); 2322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingHeadMap = decendingMap.headMap(new Integer(103).toString(), 2325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 104; i < 107; i++) { 2327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(102); 2332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(104, entry.getValue()); 2334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(2); 2336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(entry); 2338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(99); 2341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 109; i++) { 2343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingMap.lowerEntry(value.toString()); 2345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(110); 2348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(decendingMap.lowerEntry(value.toString())); 2349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingHeadMap = decendingMap.headMap(new Integer(103).toString(), 2351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 2352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 104; i < 109; i++) { 2353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 2354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 2356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(102); 2358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(104, entry.getValue()); 2360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(2); 2362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = decendingHeadMap.lowerEntry(value.toString()); 2363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(entry); 2364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_pollFirstEntry() { 2367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(999, decendingMap.pollFirstEntry().getValue()); 2369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, decendingMap.pollFirstEntry().getValue()); 2372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, decendingMap.pollFirstEntry().getValue()); 2375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(107, decendingMap.pollFirstEntry().getValue()); 2378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(106, decendingMap.pollFirstEntry().getValue()); 2381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_pollLastEntry() { 2384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, decendingMap.pollLastEntry().getValue()); 2386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, decendingMap.pollLastEntry().getValue()); 2389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(102, decendingMap.pollLastEntry().getValue()); 2392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, decendingMap.pollLastEntry().getValue()); 2395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(103, decendingMap.pollLastEntry().getValue()); 2398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_values() { 2401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collection values = decendingMap.values(); 2403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 2404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(1000)); 2405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 999; i > 0; i--) { 2406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 2407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(0)); 2409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(99).toString(); 2411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap headMap = decendingMap.headMap(endKey, false); 2412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = headMap.values(); 2413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator it = values.iterator(); 2414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 999; i > 990; i--) { 2415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 2416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, it.next()); 2417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(11).toString(); 2420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap tailMap = decendingMap.tailMap(startKey, false); 2421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = tailMap.values(); 2422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath it = values.iterator(); 2423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 109; i > 100; i--) { 2424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 2425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, it.next()); 2426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = decendingMap.values(); 2430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 2431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(109)); 2432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 100; i--) { 2433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 2434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(100)); 2436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = decendingMap.values(); 2439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 2440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(100)); 2441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 100; i--) { 2442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 2443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(109)); 2445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = decendingMap.values(); 2448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 2449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(100)); 2450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 100; i--) { 2451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 2452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.contains(109)); 2454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath values = decendingMap.values(); 2457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(values.isEmpty()); 2458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(100)); 2459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 100; i--) { 2460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(i)); 2461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(values.contains(109)); 2463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_headMap() { 2466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(0).toString(), key; 2468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subDecendingMap_Included = decendingMap.headMap(endKey, true); 2469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subDecendingMap_Excluded = decendingMap 2470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .headMap(endKey, false); 2471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < 1000; i++) { 2475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1000).toString(); 2480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.headMap(endKey, true); 2487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.headMap(endKey, true); 2516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 2567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 2592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 2594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.headMap(endKey, true); 2598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 2624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.headMap(endKey, true); 2628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 2654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endIncluded_comparator) 2680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 2681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.headMap(endKey, true); 2690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.headMap(endKey, false); 2691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 2697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_subMap() { 2707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap descendingMap = tm.descendingMap(); 2708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(109).toString(); 2709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(100).toString(); 2710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap.subMap(endKey, false, startKey, false); 2712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subDescendingMap = descendingMap.subMap(startKey, false, 2717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey, false); 2718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(100).toString(); 2719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDescendingMap.containsKey(key)); 2720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDescendingMap.containsKey(key)); 2726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDescendingMap = descendingMap.subMap(startKey, false, endKey, true); 2728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDescendingMap.containsKey(key)); 2736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDescendingMap = descendingMap.subMap(startKey, true, endKey, false); 2738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDescendingMap.containsKey(key)); 2740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDescendingMap = descendingMap.subMap(startKey, true, endKey, true); 2748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 2751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 2755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDescendingMap.containsKey(key)); 2756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(); 2758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = -10; i < 10; i++) { 2759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath treeMap.put(i, String.valueOf(i)); 2760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingMap = treeMap.descendingMap(); 2762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDescendingMap = descendingMap.subMap(5, 0); 2763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, subDescendingMap.size()); 2764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMap_tailMap() { 2767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // tm 2768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap decendingMap = tm.descendingMap(); 2769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(1000).toString(), key; 2770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subDecendingMap_Excluded = decendingMap 2772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .tailMap(endKey, false); 2773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(10).toString(); 2782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1).toString(); 2786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 2790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 2794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 998; i > 0; i--) { 2800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 2805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(0).toString(); 2809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subDecendingMap_Included.size()); 2812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.isEmpty()); 2815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // navigableMap_startExcluded_endExcluded 2817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endExcluded.descendingMap(); 2818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 2819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 2828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 2834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 2845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 2851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subDecendingMap_Included.size()); 2864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.isEmpty()); 2866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2874e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 2875e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath decendingMap.tailMap(endKey, false); 2876e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 2877e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 2878e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 2879e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 2880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 2882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 2891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // navigableMap_startExcluded_endIncluded 2897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startExcluded_endIncluded.descendingMap(); 2898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 2899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 2908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 2914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 2921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 2927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 2928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 2930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 2932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 2934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 2936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 2937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subDecendingMap_Included.size()); 2940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 2941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.isEmpty()); 2942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 2944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2950e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 2951e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath decendingMap.tailMap(endKey, false); 2952e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 2953e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 2954e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 2955e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 2956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 2958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 2966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // navigableMap_startIncluded_endExcluded 2972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endExcluded.descendingMap(); 2973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 2974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 2983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 2984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 2989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 2990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 2991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 2993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 2994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 2995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 2996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 2997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 2998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 2999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 3000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 3006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 3007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 3009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 3011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 3015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subDecendingMap_Included.size()); 3019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 3023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 3030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // navigableMap_startIncluded_endIncluded 3044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = navigableMap_startIncluded_endIncluded.descendingMap(); 3045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 3046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 3060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 3071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 3077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 3078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 3080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 3082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 3086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subDecendingMap_Included.size()); 3090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 3094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 3101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 3115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 3116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 3117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 3118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 3133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 3144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 3150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 3151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 3153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 3155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 3156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 3157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 3159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subDecendingMap_Included.size()); 3163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.isEmpty()); 3165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 3167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3173e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 3174e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath decendingMap.tailMap(endKey, false); 3175e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 3176e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 3177e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 3178e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 3179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 3181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 3196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 3197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 3198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 3213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 3220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 3226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 3227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 3229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 3231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 3232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Included.containsKey(key)); 3233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 3235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subDecendingMap_Included.size()); 3239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.isEmpty()); 3241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 3243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3249e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 3250e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath decendingMap.tailMap(endKey, false); 3251e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 3252e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 3253e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 3254e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 3255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 3257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // navigableMap_startIncluded_endExcluded 3271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endExcluded) 3272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 3273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 3274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 3289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 3300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 3306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 3307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 3309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 3311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 3315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subDecendingMap_Included.size()); 3319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 3323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 3330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap = ((NavigableMap) subMap_startIncluded_endIncluded) 3344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingMap(); 3345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 3346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 3360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(108).toString(); 3371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 107; i > 100; i--) { 3377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 3378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Excluded.containsKey(key)); 3380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 3382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 3386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subDecendingMap_Included.size()); 3390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 3394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Included = decendingMap.tailMap(endKey, true); 3395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subDecendingMap_Excluded = decendingMap.tailMap(endKey, false); 3396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = endKey; 3397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subDecendingMap_Included.containsKey(key)); 3398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subDecendingMap_Excluded.containsKey(key)); 3399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 3401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, true); 3403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath decendingMap.tailMap(endKey, false); 3409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 3410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 3411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_Entry_setValue() { 3416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap treeMap = new TreeMap(); 3417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value = null; 3418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 50; i++) { 3419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(i); 3420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath treeMap.put(value, value); 3421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Map checkedMap = Collections.checkedMap(treeMap, Integer.class, 3423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer.class); 3424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = checkedMap.entrySet(); 3425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = entrySet.iterator(); 3426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(0); 3428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (; iterator.hasNext(); value++) { 3429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 3430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.setValue(value + 1)); 3431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, entry.getValue()); 3432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_comparator() { 3436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 3437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSet; 3438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Comparator comparator; 3439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry[] entryArray; 3440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value1, value2; 3441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(((NavigableSet) entrySet).comparator()); 3446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingSet.comparator(); 3447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 3448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 3450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 3451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < entryArray.length; i++) { 3452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = (Integer) entryArray[i - 1].getValue(); 3453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = (Integer) entryArray[i].getValue(); 3454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 3455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 3456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 3460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(((NavigableSet) entrySet).comparator()); 3463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingSet.comparator(); 3464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 3465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 3467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 3468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < entryArray.length; i++) { 3469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = (Integer) entryArray[i - 1].getValue(); 3470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = (Integer) entryArray[i].getValue(); 3471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 3472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 3473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 3477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(((NavigableSet) entrySet).comparator()); 3480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingSet.comparator(); 3481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 3482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 3484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 3485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < entryArray.length; i++) { 3486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = (Integer) entryArray[i - 1].getValue(); 3487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = (Integer) entryArray[i].getValue(); 3488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 3489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 3490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 3494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(((NavigableSet) entrySet).comparator()); 3497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingSet.comparator(); 3498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 3499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 3501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 3502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < entryArray.length; i++) { 3503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = (Integer) entryArray[i - 1].getValue(); 3504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = (Integer) entryArray[i].getValue(); 3505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 3506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 3507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 3511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 3512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(descendingSet.comparator()); 3515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_descendingSet() { 3519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 3520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet, descendingSet, descendingDescedingSet; 3521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry[] ascendingEntryArray, descendingDescendingArray; 3522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescedingSet = descendingSet.descendingSet(); 3528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingEntryArray = (Entry[]) ascendingSubMapEntrySet 3529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[ascendingSubMapEntrySet.size()]); 3530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray = (Entry[]) descendingDescedingSet 3532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingDescedingSet.size()]); 3533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray.length, 3535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray.length); 3536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < ascendingEntryArray.length; i++) { 3537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray[i], 3538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray[i]); 3539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 3543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescedingSet = descendingSet.descendingSet(); 3547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingEntryArray = (Entry[]) ascendingSubMapEntrySet 3548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[ascendingSubMapEntrySet.size()]); 3549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray = (Entry[]) descendingDescedingSet 3551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingDescedingSet.size()]); 3552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray.length, 3554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray.length); 3555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < ascendingEntryArray.length; i++) { 3556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray[i], 3557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray[i]); 3558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 3562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescedingSet = descendingSet.descendingSet(); 3566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingEntryArray = (Entry[]) ascendingSubMapEntrySet 3567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[ascendingSubMapEntrySet.size()]); 3568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray = (Entry[]) descendingDescedingSet 3570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingDescedingSet.size()]); 3571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray.length, 3573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray.length); 3574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < ascendingEntryArray.length; i++) { 3575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray[i], 3576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray[i]); 3577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 3581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescedingSet = descendingSet.descendingSet(); 3585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingEntryArray = (Entry[]) ascendingSubMapEntrySet 3586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[ascendingSubMapEntrySet.size()]); 3587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray = (Entry[]) descendingDescedingSet 3589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingDescedingSet.size()]); 3590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray.length, 3592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray.length); 3593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < ascendingEntryArray.length; i++) { 3594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(ascendingEntryArray[i], 3595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingArray[i]); 3596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 3600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet();// 0...2 3601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 3603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [0...2] 3605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescedingSet = descendingSet.descendingSet(); 3606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingDescedingSet.iterator(); 3607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, ((Entry) iterator.next()).getValue()); 3608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(2).toString(); 3611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.tailMap(startKey, true).entrySet();// 2... 3612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 3614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [0...2] 3616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescedingSet = descendingSet.descendingSet(); 3617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingDescedingSet.iterator(); 3618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, ((Entry) iterator.next()).getValue()); 3619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_first() { 3624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 3625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet, descendingSet; 3626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.first(); 3633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, entry.getValue()); 3634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 3637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.first(); 3641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, entry.getValue()); 3642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 3645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.first(); 3649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, entry.getValue()); 3650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 3653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.first(); 3657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, entry.getValue()); 3658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_last() { 3662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 3663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet, descendingSet; 3664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.last(); 3671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, entry.getValue()); 3672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 3675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.last(); 3679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, entry.getValue()); 3680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 3683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.last(); 3687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, entry.getValue()); 3688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 3691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 3693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 3694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.last(); 3695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, entry.getValue()); 3696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollFirst_startExcluded_endExcluded() { 3700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, descendingSubMapEntrySet.size()); 3706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 3707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollFirst(); 3708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollFirst_startExcluded_endIncluded() { 3715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 3716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, descendingSubMapEntrySet.size()); 3721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 110; i++) { 3722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollFirst(); 3723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollFirst_startIncluded_endExcluded() { 3730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 3731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, descendingSubMapEntrySet.size()); 3736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 109; i++) { 3737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollFirst(); 3738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollFirst_startIncluded_endIncluded() { 3745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 3746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, descendingSubMapEntrySet.size()); 3751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 110; i++) { 3752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollFirst(); 3753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollFirst() { 3760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(2).toString(); 3761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = tm.headMap(key, true).entrySet();// [0...2] 3762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingEntrySet; 3763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 3767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingEntrySet = ((NavigableSet) entrySet).descendingSet(); 3768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingEntrySet.pollFirst(); 3769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, entry.getValue()); 3770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.tailMap(key, true).entrySet(); 3773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingEntrySet = ((NavigableSet) entrySet).descendingSet(); 3775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingEntrySet.pollFirst(); 3776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, entry.getValue()); 3777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollLast_startExcluded_endExclued() { 3781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, descendingSubMapEntrySet.size()); 3787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 100; i--) { 3788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollLast(); 3789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollLast_startExcluded_endInclued() { 3796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 3797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, descendingSubMapEntrySet.size()); 3802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 109; i > 100; i--) { 3803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollLast(); 3804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollLast_startIncluded_endExclued() { 3811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 3812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, descendingSubMapEntrySet.size()); 3817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 108; i > 99; i--) { 3818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollLast(); 3819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollLast_startIncluded_endInclued() { 3826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 3827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet = ((NavigableSet) entrySet) 3830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, descendingSubMapEntrySet.size()); 3832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 109; i > 99; i--) { 3833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSubMapEntrySet.pollLast(); 3834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, entry.getValue()); 3835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingSubMapEntrySet.pollFirst()); 3837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_pollLast() { 3841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(2).toString(); 3842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = tm.headMap(key, true).entrySet();// [0...2] 3843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingEntrySet; 3844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 3848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingEntrySet = ((NavigableSet) entrySet).descendingSet(); 3849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingEntrySet.pollLast(); 3850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, entry.getValue()); 3851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.tailMap(key, true).entrySet(); 3854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingEntrySet = ((NavigableSet) entrySet).descendingSet(); 3856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingEntrySet.pollLast(); 3857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(999, entry.getValue()); 3858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_descendingIterator() { 3862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 3863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSet; 3864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 3865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 3870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 100; value--) { 3871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 3872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) iterator.next()).getValue()); 3873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 3875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 3877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 3878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 3879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 3884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 3887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 100; value--) { 3888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 3889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) iterator.next()).getValue()); 3890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 3892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 3894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 3895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 3896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 3901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 3904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 99; value--) { 3905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 3906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) iterator.next()).getValue()); 3907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 3909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 3911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 3912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 3913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 3918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 3921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 99; value--) { 3922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 3923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) iterator.next()).getValue()); 3924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 3926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 3928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 3929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 3930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 3935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet();// 0...2 3936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 3938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 3939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.descendingIterator(); 3940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, ((Entry) iterator.next()).getValue());// 0...2 3941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_headSet() { 3945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, headSet; 3946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet; 3947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator, headSetIterator; 3948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 3949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 3950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 3952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 3953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 3954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 3955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 3956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 3957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 3958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry); 3959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 3960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; headSetIterator.hasNext(); value--) { 3961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 3962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 3963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 3966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 3967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 3968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, false); 3972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 3973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; headSetIterator.hasNext(); value--) { 3974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 3975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 3976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 3979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 3980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 3981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, true); 3985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 3986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; headSetIterator.hasNext(); value--) { 3987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 3988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 3989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 3991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 3992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 3993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 3994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 3995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 3998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 3999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 4000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry); 4007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; headSetIterator.hasNext(); value--) { 4009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, false); 4020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; headSetIterator.hasNext(); value--) { 4022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, true); 4033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; headSetIterator.hasNext(); value--) { 4035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 4048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry); 4055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; headSetIterator.hasNext(); value--) { 4057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, false); 4068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; headSetIterator.hasNext(); value--) { 4070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, true); 4081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; headSetIterator.hasNext(); value--) { 4083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 4096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry); 4103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; headSetIterator.hasNext(); value--) { 4105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, false); 4116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; headSetIterator.hasNext(); value--) { 4118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, true); 4129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; headSetIterator.hasNext(); value--) { 4131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 4132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 4136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 4144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet();// 0...2 4145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 4147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 2 4151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 199 4152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next();// 198 4153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry); 4154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, headSet.size());// 2 199 4155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, ((Entry) headSetIterator.next()).getValue()); 4157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) headSetIterator.next()).getValue()); 4158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingSubMapEntrySet.headSet(entry, true); 4160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, headSet.size());// 2 199 4161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 4162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, ((Entry) headSetIterator.next()).getValue()); 4163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) headSetIterator.next()).getValue()); 4164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(198, ((Entry) headSetIterator.next()).getValue()); 4165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_tailSet() { 4169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, tailSet; 4170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet; 4171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator, tailSetIterator; 4172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 4173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 4174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 4176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry); 4183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, false); 4197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, ((Entry) tailSetIterator.next()) 4201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, true); 4211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 4227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry); 4234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, false); 4248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, ((Entry) tailSetIterator.next()) 4252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, true); 4262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 4278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry); 4285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, false); 4299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, ((Entry) tailSetIterator.next()) 4303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, true); 4313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 4329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry); 4336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, false); 4350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, ((Entry) tailSetIterator.next()) 4354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, true); 4364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 4366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value--) { 4367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 4368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 4372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 4373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 4374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 4380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet();// 0...2 4381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 4383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 2 4387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next();// 199 4388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry); 4389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) tailSetIterator.next()).getValue()); 4391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, false); 4393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(198, ((Entry) tailSetIterator.next()).getValue()); 4395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingSubMapEntrySet.tailSet(entry, true); 4397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 4398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) tailSetIterator.next()).getValue()); 4399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_subSet() { 4403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, subSet; 4404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet; 4405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry startEntry, endEntry; 4406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator subSetIterator; 4407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 4409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iteratorStart = descendingSubMapEntrySet.iterator(); 4413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iteratorStart.hasNext()) { 4414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry = (Entry) iteratorStart.next(); 4415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iteratorEnd = descendingSubMapEntrySet.iterator(); 4416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iteratorEnd.hasNext()) { 4417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry = (Entry) iteratorEnd.next(); 4418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex = (Integer) startEntry.getValue(); 4419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int endIndex = (Integer) endEntry.getValue(); 4420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex < endIndex) { 4421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, 4423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry); 4424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, false, 4431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 4432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, false, 4439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 4440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, true, 4447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 4448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, true, 4455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 4456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry); 4463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 4465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, endEntry, false); 4471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator 4473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); index--) { 4474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, endEntry, true); 4480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator 4482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); index--) { 4483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, endEntry, false); 4489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 4491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, endEntry, true); 4497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 4499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 4508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 4509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // [2...0] 4511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingSubMapEntrySet.iterator(); 4514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry = (Entry) iterator.next(); 4515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 4516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry = (Entry) iterator.next(); 4517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, endEntry); 4518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 4519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, false, 4521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 4522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 4523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) subSetIterator.next()).getValue()); 4525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, false, 4527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 4528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 4529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) subSetIterator.next()).getValue()); 4531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(198, ((Entry) subSetIterator.next()).getValue()); 4532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, true, 4534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 4535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 4536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, ((Entry) subSetIterator.next()).getValue()); 4538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) subSetIterator.next()).getValue()); 4539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, true, 4541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 4542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, subSet.size()); 4543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, ((Entry) subSetIterator.next()).getValue()); 4545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, ((Entry) subSetIterator.next()).getValue()); 4546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(198, ((Entry) subSetIterator.next()).getValue()); 4547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comnparator 4550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 4551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iteratorStart = descendingSubMapEntrySet.iterator(); 4555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iteratorStart.hasNext()) { 4556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startEntry = (Entry) iteratorStart.next(); 4557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iteratorEnd = descendingSubMapEntrySet.iterator(); 4558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iteratorEnd.hasNext()) { 4559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry = (Entry) iteratorEnd.next(); 4560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex = (Integer) startEntry.getValue(); 4561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int endIndex = (Integer) endEntry.getValue(); 4562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex < endIndex) { 4563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, 4565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry); 4566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, false, 4573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 4574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, false, 4581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 4582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, true, 4589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 4590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet.subSet(startEntry, true, 4597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 4598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 4599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 4600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry); 4605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 4607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, endEntry, false); 4613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator 4615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); index--) { 4616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, endEntry, true); 4622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator 4624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); index--) { 4625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, endEntry, false); 4631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 4633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingSubMapEntrySet.subSet(startEntry, 4638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, endEntry, true); 4639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 4640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 4641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 4642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 4643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_lower() { 4651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, subSet; 4652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet; 4653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 4654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry, lowerEntry; 4655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 4656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 4658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) descendingSubMapEntrySet.lower(entry); 4665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 4667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 4668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 4670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println(descendingSubMapEntrySet); 4674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println(tm); 4675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object afterEnd = this.subMap_default_afterEnd_109.entrySet() 4676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println("o:" + afterEnd); 4678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object x = descendingSubMapEntrySet.lower(afterEnd); 4679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println("x:" + x); 4680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(x); 4681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object beforeStart = this.subMap_default_beforeStart_100.entrySet() 4682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println("before: " + beforeStart); 4684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object y = descendingSubMapEntrySet.lower(beforeStart); 4685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println("y: " + y); 4686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(y); 4687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, (((Entry) y).getValue())); 4688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 4691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) descendingSubMapEntrySet.lower(entry); 4698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 4700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 4701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 4703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 4708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) descendingSubMapEntrySet.lower(entry); 4715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 4717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 4718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 4720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 4725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) descendingSubMapEntrySet.lower(entry); 4732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 4734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 4735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 4737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 4742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 4743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 2 4748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 199 4749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next();// 198 4750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) descendingSubMapEntrySet.lower(entry); 4751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(199, lowerEntry.getValue()); 4752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_higher() { 4756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, subSet; 4757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingSubMapEntrySet; 4758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 4759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry, higherEntry; 4760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 4761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 4763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherEntry = (Entry) descendingSubMapEntrySet.higher(entry); 4770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 4772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherEntry.getValue()); 4773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherEntry); 4775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object afterEnd = this.subMap_default_afterEnd_109.entrySet() 4779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object x = descendingSubMapEntrySet.higher(afterEnd); 4781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(x); 4782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, ((Entry) x).getValue()); 4783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object beforeStart = this.subMap_default_beforeStart_100.entrySet() 4784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object y = descendingSubMapEntrySet.higher(beforeStart); 4786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(y); 4787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 4790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherEntry = (Entry) descendingSubMapEntrySet.higher(entry); 4797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 4799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherEntry.getValue()); 4800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherEntry); 4802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 4807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherEntry = (Entry) descendingSubMapEntrySet.higher(entry); 4814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 4816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherEntry.getValue()); 4817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherEntry); 4819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 4824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherEntry = (Entry) descendingSubMapEntrySet.higher(entry); 4831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 4833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherEntry.getValue()); 4834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherEntry); 4836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 4841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 4842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 2 4847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 199 4848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next();// 198 4849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherEntry = (Entry) descendingSubMapEntrySet.higher(entry); 4850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(197, higherEntry.getValue()); 4851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 4854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 4855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSubMapEntrySet = ((NavigableSet) entrySet) 4857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 4858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSubMapEntrySet.iterator(); 4859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherEntry = (Entry) descendingSubMapEntrySet.higher(entry); 4862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 4863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 4864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherEntry.getValue()); 4865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 4866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherEntry); 4867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object afterEnd = this.subMap_default_afterEnd_109.entrySet() 4871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object x = descendingSubMapEntrySet.higher(afterEnd); 4873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(x); 4874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, ((Entry) x).getValue()); 4875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object beforeStart = this.subMap_default_beforeStart_100.entrySet() 4876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object y = descendingSubMapEntrySet.higher(beforeStart); 4878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(y); 4879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_ceiling() { 4883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 4884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet, descendingSet; 4885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 4886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry[] entryArray; 4887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 4889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 4891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 4892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.ceiling(null); 4894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 4895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 4896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 4900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 4901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < entryArray.length; i++) { 4902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.ceiling(entryArray[i]); 4903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 4904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println(descendingSet); 4907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println(tm); 4908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object afterEnd = this.subMap_default_afterEnd_109.entrySet() 4909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println("o:" + afterEnd);//110 4911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object x = descendingSet.ceiling(afterEnd); 4912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(x); 4913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println("x:" + x); 4914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, ((Entry) x).getValue()); 4915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object beforeStart = this.subMap_default_beforeStart_100.entrySet() 4916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 4917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // System.out.println("before: " + beforeStart);//0 4918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object y = descendingSet.ceiling(beforeStart); 4919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(y); 4920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 4923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 4925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 4926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.ceiling(null); 4928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 4929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 4930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 4934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 4935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < entryArray.length; i++) { 4936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.ceiling(entryArray[i]); 4937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 4938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 4942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 4944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 4945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.ceiling(null); 4947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 4948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 4949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 4953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 4954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < entryArray.length; i++) { 4955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.ceiling(entryArray[i]); 4956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 4957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 4961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 4963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.ceiling(null); 4965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 4966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 4967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 4971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 4972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < entryArray.length; i++) { 4973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.ceiling(entryArray[i]); 4974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 4975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 4979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 4980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 4981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 4982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 4983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.ceiling(null); 4984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 4985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 4986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 4987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingSet.iterator(); 4990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry ceilingEntry; 4991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 4992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 4993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingEntry = (Entry) descendingSet.ceiling(entry); 4994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry, ceilingEntry); 4995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 4998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 4999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapEntrySet_floor() { 5001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 5002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet, descendingSet; 5003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 5004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry[] entryArray; 5005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 5007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 5009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 5010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < entryArray.length; i++) { 5020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object afterEnd = this.subMap_default_afterEnd_109.entrySet() 5025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 5026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object x = descendingSet.floor(afterEnd); 5027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(x); 5028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object beforeStart = this.subMap_default_beforeStart_100.entrySet() 5030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .iterator().next(); 5031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object y = descendingSet.floor(beforeStart); 5032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(y); 5033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, (((Entry) y).getValue())); 5034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 5037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 5039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 5040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < entryArray.length; i++) { 5050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 5056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 5058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 5059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < entryArray.length; i++) { 5069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 5075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 5077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < entryArray.length; i++) { 5087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 5093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 5094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 5096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingSet.iterator(); 5098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry floorEntry; 5099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 5100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 5101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) descendingSet.floor(entry); 5102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry, floorEntry); 5103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 5107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 5108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 5110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 5111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < entryArray.length; i++) { 5121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded_comparator.entrySet(); 5127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 5129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 5130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < entryArray.length; i++) { 5140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded_comparator.entrySet(); 5146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 5148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 5149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < entryArray.length; i++) { 5159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded_comparator.entrySet(); 5165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 5166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ((NavigableSet) entrySet).descendingSet(); 5167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet.floor(null); 5169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 5170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 5171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entryArray = (Entry[]) descendingSet 5175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new Entry[descendingSet.size()]); 5176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < entryArray.length; i++) { 5177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) descendingSet.floor(entryArray[i]); 5178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(j - i, entry.getValue()); 5179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_comparator() { 5184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 5185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Comparator comparator; 5186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] keyArray; 5187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value1, value2; 5188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 5190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 5191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingKeySet.comparator(); 5193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 5194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 5195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 5196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < keyArray.length; i++) { 5197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = Integer.valueOf(keyArray[i - 1]); 5198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = Integer.valueOf(keyArray[i]); 5199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 5200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 5201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 5204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 5205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingKeySet.comparator(); 5207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 5208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 5209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 5210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < keyArray.length; i++) { 5211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = Integer.valueOf(keyArray[i - 1]); 5212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = Integer.valueOf(keyArray[i]); 5213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 5214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 5215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 5218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 5219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingKeySet.comparator(); 5221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 5222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 5223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 5224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < keyArray.length; i++) { 5225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = Integer.valueOf(keyArray[i - 1]); 5226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = Integer.valueOf(keyArray[i]); 5227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 5228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 5229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 5232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 5233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath comparator = descendingKeySet.comparator(); 5235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(comparator); 5236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 5237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 5238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 1; i < keyArray.length; i++) { 5239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value1 = Integer.valueOf(keyArray[i - 1]); 5240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value2 = Integer.valueOf(keyArray[i]); 5241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(value1 > value2); 5242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(comparator.compare(value1, value2) < 0); 5243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 5246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 5247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 5248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(descendingKeySet.comparator()); 5250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_first() { 5253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 5254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String firstKey1 = new Integer(100).toString(); 5255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String firstKey2 = new Integer(101).toString(); 5256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 5258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, keySet.first()); 5259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 5261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, keySet.first()); 5262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 5264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, keySet.first()); 5265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 5267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, keySet.first()); 5268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollFirst_startExcluded_endExcluded() { 5271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endExcluded 5272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, keySet.size()); 5276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 109; value++) { 5277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 5278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollFirst_startExcluded_endIncluded() { 5284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endIncluded 5285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 5289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 110; value++) { 5290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 5291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollFirst_startIncluded_endExcluded() { 5297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endExcluded 5298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 5302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 109; value++) { 5303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 5304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollFirst_startIncluded_endIncluded() { 5310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endIncluded 5311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, keySet.size()); 5315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 110; value++) { 5316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 5317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollFirst() { 5323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 5324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = tm.headMap(endKey, true).navigableKeySet(); 5325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(endKey, descendingKeySet.pollFirst()); 5327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollLast_startExcluded_endExcluded() { 5330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endExcluded 5331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, keySet.size()); 5335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 100; value--) { 5336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 5337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollLast_startExcluded_endIncluded() { 5343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endIncluded 5344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 5348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 100; value--) { 5349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 5350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollLast_startIncluded_endExcluded() { 5356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endExcluded 5357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 5361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 99; value--) { 5362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 5363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollLast_startIncluded_endIncluded() { 5369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endIncluded 5370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 5371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 5373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, keySet.size()); 5374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 99; value--) { 5375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 5376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 5378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 5379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_pollLast() { 5382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 5383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = tm.headMap(endKey, true).navigableKeySet(); 5384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet descendingKeySet = keySet.descendingSet(); 5385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), descendingKeySet.pollLast()); 5386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_headSet() { 5389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 5390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedSet headSet; 5391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey, key; 5392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 5393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int index; 5394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 5396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 5398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 5418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 5442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 5467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 5468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 5471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 108; iterator.hasNext(); j--) { 5472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 108; iterator.hasNext(); j--) { 5480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 108; iterator.hasNext(); j--) { 5488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i - 1, j); 5492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 5495e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 5496e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath headSet = descendingKeySet.headSet(endKey); 5497e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 5498e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException expected) { 5499e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 5500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5502e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 5503e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath descendingKeySet.headSet(endKey, false); 5504e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 5505e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 5506e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 5507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 5517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 5537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 5539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 5559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 5583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 5608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 5609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 5612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 109; iterator.hasNext(); j--) { 5613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 109; iterator.hasNext(); j--) { 5621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 109; iterator.hasNext(); j--) { 5629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i - 1, j); 5633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 5636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 5643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 5651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, index); 5659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 5661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 5681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 5683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 5703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 5726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 5728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 108; iterator.hasNext(); index--) { 5747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 5753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 5754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 5757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 108; iterator.hasNext(); j--) { 5758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 108; iterator.hasNext(); j--) { 5766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 108; iterator.hasNext(); j--) { 5774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i - 1, j); 5778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 5781e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 5782e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 5783e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath descendingKeySet.headSet(endKey); 5784e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 5785e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 5786e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 5787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5789e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 5790e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath descendingKeySet.headSet(endKey, false); 5791e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 5792e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 5793e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 5794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 5804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 5824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 5826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 5846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 5869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 5871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 5886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 5894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 5896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 5897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 5900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 109; iterator.hasNext(); j--) { 5901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 109; iterator.hasNext(); j--) { 5909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 5913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 109; iterator.hasNext(); j--) { 5917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 5919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i - 1, j); 5921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 5924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 5931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 5939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 5943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 5944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 5945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, index); 5947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 5949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey); 5951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, true); 5957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 5962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.headSet(endKey, false); 5963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 5964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 5965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 5966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 5969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 5970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 5972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 5973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) iterator.next(); 5974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, headSet.size()); 5977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, false); 5979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, headSet.size()); 5980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey, true); 5982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, headSet.size()); 5983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 5985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.tailMap(key, true).navigableKeySet(); 5986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 5987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 5988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 5989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) iterator.next(); 5990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = descendingKeySet.headSet(endKey); 5991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, headSet.size()); 5992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 5993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(999, Integer.parseInt((String) iterator.next())); 5994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 5995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 5996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_tailSet() { 5997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 5998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedSet tailSet; 5999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey, key; 6000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 6001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int index; 6002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 6004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 6006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 6028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6040e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 6041e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 6042e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath descendingKeySet.tailSet(startKey, false); 6043e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 6044e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 6045e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 6046e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 6047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 6049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 6072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 6074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 6075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 6079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, j); 6084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, j); 6092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - 1).toString(), key); 6098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, j); 6100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 6103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index - 1).toString(), key); 6120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 6122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 6124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 6144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 6146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 6168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6180e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 6181e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath descendingKeySet.tailSet(startKey, false); 6182e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 6183e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 6184e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 6185e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 6186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 6188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 6211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 6213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 6214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 6218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, j); 6223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, j); 6231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - 1).toString(), key); 6237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, j); 6239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 6242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index - 1).toString(), key); 6263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 6265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 6267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 6287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 6289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 6309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailSet.size()); 6311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(startKey, iterator.next()); 6313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailSet.size()); 6316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(startKey, iterator.next()); 6318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, tailSet.size()); 6321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 6323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 6330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 6338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index - 1).toString(), key); 6344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 6348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 6349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 6353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, j); 6358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, j); 6366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - 1).toString(), key); 6372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, j); 6374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 6377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index - 1).toString(), key); 6394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 6398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 6418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 6420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 6440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailSet.size()); 6442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(startKey, iterator.next()); 6444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailSet.size()); 6447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(startKey, iterator.next()); 6449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, tailSet.size()); 6452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 6454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 6461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 6469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index--) { 6473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index - 1).toString(), key); 6475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 6479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 6480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 6484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, j); 6489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 6495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, j); 6497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j--) { 6501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - 1).toString(), key); 6503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, j); 6505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 6508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 6515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 6521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, index); 6523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 6526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index--) { 6527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 6528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index - 1).toString(), key); 6529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, index); 6531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 6533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey); 6535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, true); 6541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.tailSet(startKey, false); 6547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 6553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 6554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 6556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 6557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) iterator.next(); 6558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey); 6560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(112, tailSet.size()); 6561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator tailIterator = tailSet.iterator(); 6562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(199).toString(), tailIterator.next()); 6563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, true); 6565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(112, tailSet.size()); 6566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailIterator = tailSet.iterator(); 6567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(199).toString(), tailIterator.next()); 6568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = descendingKeySet.tailSet(startKey, false); 6570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(111, tailSet.size()); 6571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailIterator = tailSet.iterator(); 6572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(198).toString(), tailIterator.next()); 6573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_subSet() { 6576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 6577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedSet subSet; 6578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey, endKey, key; 6579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator startIterator, endIterator, subSetIterator; 6580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 6582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startIterator = descendingKeySet.iterator(); 6584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (startIterator.hasNext()) { 6585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) startIterator.next(); 6586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endIterator = descendingKeySet.iterator(); 6587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (endIterator.hasNext()) { 6588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) endIterator.next(); 6589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex = Integer.valueOf(startKey); 6590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int endIndex = Integer.valueOf(endKey); 6591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex < endIndex) { 6592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, endKey); 6594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, false, endKey, false); 6601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, false, endKey, true); 6608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, true, endKey, false); 6615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, true, endKey, true); 6622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 6627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, endKey); 6628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 6630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, false, endKey, 6635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 6636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator.hasNext(); index--) { 6638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, false, endKey, 6643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true); 6644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator.hasNext(); index--) { 6646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, true, endKey, 6651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 6652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 6654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, true, endKey, 6659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true); 6660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 6662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(2).toString(); 6670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 6671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 6673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) iterator.next(); 6675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 6676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) iterator.next(); 6677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, endKey); 6679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 6680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(startKey, subSetIterator.next()); 6682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, false, endKey, false); 6691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 6692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, false, endKey, true); 6702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 6703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(endKey, subSetIterator.next()); 6706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, true, endKey, false); 6714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 6715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(startKey, subSetIterator.next()); 6717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, true, endKey, true); 6726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, subSet.size()); 6727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(startKey, subSetIterator.next()); 6729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(endKey, subSetIterator.next()); 6731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 6733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 6739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 6740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 6741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 6742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startIterator = descendingKeySet.iterator(); 6743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (startIterator.hasNext()) { 6744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) startIterator.next(); 6745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endIterator = descendingKeySet.iterator(); 6746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (endIterator.hasNext()) { 6747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) endIterator.next(); 6748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex = Integer.valueOf(startKey); 6749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int endIndex = Integer.valueOf(endKey); 6750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex < endIndex) { 6751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, endKey); 6753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 6754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, false, endKey, false); 6760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, false, endKey, true); 6767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, true, endKey, false); 6774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.subSet(startKey, true, endKey, true); 6781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 6782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 6783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 6786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, endKey); 6787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 6789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, false, endKey, 6794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 6795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator.hasNext(); index--) { 6797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, false, endKey, 6802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true); 6803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex - 1; subSetIterator.hasNext(); index--) { 6805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, true, endKey, 6810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 6811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 6813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = descendingKeySet.subSet(startKey, true, endKey, 6818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true); 6819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 6820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index--) { 6821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 6822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 6823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_descendingSet() { 6830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingSet, descendingDescendingSet; 6831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 6832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 6833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 6835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingSet = descendingSet.descendingSet(); 6837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingDescendingSet.iterator(); 6838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 6839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; iterator.hasNext(); value++) { 6840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 6841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 6843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 6845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 6851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingSet = descendingSet.descendingSet(); 6853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingDescendingSet.iterator(); 6854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 6855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; iterator.hasNext(); value++) { 6856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 6857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 6859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 6861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 6867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingSet = descendingSet.descendingSet(); 6869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingDescendingSet.iterator(); 6870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 6871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; iterator.hasNext(); value++) { 6872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 6873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 6875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 6877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 6883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingSet = descendingSet.descendingSet(); 6885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingDescendingSet.iterator(); 6886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 6887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; iterator.hasNext(); value++) { 6888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 6889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 6891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 6893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 6899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 6900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingSet = descendingSet.descendingSet(); 6902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(keySet, descendingDescendingSet); 6903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(2).toString(); 6905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.tailMap(startKey, true).navigableKeySet(); 6906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingDescendingSet = descendingSet.descendingSet(); 6908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(keySet, descendingDescendingSet); 6909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_descendingIterator() { 6912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingSet; 6913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 6914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator, descendingIterator; 6915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 6917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 6919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(descendingIterator.hasNext()); 6920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; descendingIterator.hasNext(); value++) { 6921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 6922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 6923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 6925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator.next(); 6927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = descendingSet 6933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .headSet(new Integer(105).toString(), true); 6934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 6935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 105; descendingIterator.hasNext(); value++) { 6936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 6937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 6938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = descendingSet 6942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .tailSet(new Integer(105).toString(), true); 6943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 6944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; descendingIterator.hasNext(); value++) { 6945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 6946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 6947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 6950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 6952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(descendingIterator.hasNext()); 6953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; descendingIterator.hasNext(); value++) { 6954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 6955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 6956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 6958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator.next(); 6960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = descendingSet 6966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .headSet(new Integer(105).toString(), true); 6967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 6968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 105; descendingIterator.hasNext(); value++) { 6969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 6970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 6971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = descendingSet 6975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .tailSet(new Integer(105).toString(), true); 6976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 6977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; descendingIterator.hasNext(); value++) { 6978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 6979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 6980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 6983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 6984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 6985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(descendingIterator.hasNext()); 6986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; descendingIterator.hasNext(); value++) { 6987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 6988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 6989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 6991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 6992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator.next(); 6993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 6994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 6995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 6996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 6997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 6998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 6999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 7000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 7001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(descendingIterator.hasNext()); 7002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; descendingIterator.hasNext(); value++) { 7003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), descendingIterator 7004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .next()); 7005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 7007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 7008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator.next(); 7009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 7010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 7011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 7012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 7015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 7017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 7019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 7020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(iterator.next(), descendingIterator.next()); 7023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(2).toString(); 7026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.tailMap(startKey, true).navigableKeySet(); 7027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 7028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 7029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingIterator = descendingSet.descendingIterator(); 7030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(iterator.next(), descendingIterator.next()); 7033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_lower() { 7037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 7038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 7039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key, lowerKey; 7040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value, lowerValue; 7041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 7043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 7050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(lowerKey)); 7060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 7066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 7073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(lowerKey)); 7083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 7089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 7096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, Integer.parseInt(lowerKey)); 7106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 7112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 7119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, Integer.parseInt(lowerKey)); 7129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 7136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 7139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 7140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(199).toString(), lowerKey); 7143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 7144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.lower(null); 7145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 7146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 7147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 7148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = key; 7152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.lower(endKey)); 7156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.lower(endKey)); 7161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.lower(endKey)); 7166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), descendingKeySet.lower(key)); 7167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.lower(endKey)); 7172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), descendingKeySet.lower(key)); 7173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 7175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 7176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 7184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(lowerKey)); 7194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 7200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 7208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(lowerKey)); 7218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 7224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 7232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, Integer.parseInt(lowerKey)); 7242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endIncluded_comparator) 7248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) descendingKeySet.lower(key); 7255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 7256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 7257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 7258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 7260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_higher() { 7265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 7266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 7267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key, higherKey; 7268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value, higherValue; 7269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 7271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 7278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("108", higherKey); 7288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, Integer.parseInt(higherKey)); 7304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 7306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 7313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("109", higherKey); 7323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, Integer.parseInt(higherKey)); 7335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 7337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 7344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("108", higherKey); 7354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, Integer.parseInt(higherKey)); 7366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 7368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 7375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("109", higherKey); 7385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, Integer.parseInt(higherKey)); 7397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 7400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(199).toString(), higherKey); 7405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 7406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.higher(null); 7407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 7408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 7409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 7410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = key; 7414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(endKey)); 7418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(endKey)); 7423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(998).toString(), descendingKeySet 7428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .higher(endKey)); 7429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(key)); 7430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(998).toString(), descendingKeySet 7435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .higher(endKey)); 7436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(key)); 7437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 7439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 7440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 7448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("108", higherKey); 7458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, Integer.parseInt(higherKey)); 7474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 7476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 7484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("109", higherKey); 7494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, Integer.parseInt(higherKey)); 7506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 7508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 7516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("108", higherKey); 7526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, Integer.parseInt(higherKey)); 7538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endIncluded_comparator) 7540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 7544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 7546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 7548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherValue = Integer.valueOf(higherKey); 7549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, higherValue); 7550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 7551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals("109", higherKey); 7558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 7564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(higherKey); 7566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, Integer.parseInt(higherKey)); 7570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 7573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingKeySet.iterator(); 7575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 7576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath higherKey = (String) descendingKeySet.higher(key); 7577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(199).toString(), higherKey); 7578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 7579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.higher(null); 7580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 7581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 7582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 7583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = key; 7587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(endKey)); 7591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(endKey)); 7596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(998).toString(), descendingKeySet 7601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .higher(endKey)); 7602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(key)); 7603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(998).toString(), descendingKeySet 7608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .higher(endKey)); 7609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.higher(key)); 7610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_ceiling() { 7613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 7614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] keyArray; 7615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key, ceilingKey; 7616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 7618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(key); 7628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, Integer.parseInt(ceilingKey)); 7629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(key); 7632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ceilingKey); 7633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 7635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(key); 7636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ceilingKey); 7637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99999).toString(); 7639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(key); 7640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, Integer.parseInt(ceilingKey)); 7641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 7643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 7652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 7661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 7671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 7673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.ceiling(iterator.next())); 7674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 7675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.ceiling(null); 7676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 7677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 7678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 7679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = key; 7683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.ceiling(endKey)); 7687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.ceiling(endKey)); 7692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(999).toString(), descendingKeySet 7697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .ceiling(endKey)); 7698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.ceiling(key)); 7699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(998).toString(), descendingKeySet 7704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .ceiling(endKey)); 7705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.ceiling(key)); 7706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 7708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 7709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(key); 7720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, Integer.parseInt(ceilingKey)); 7721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(key); 7724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ceilingKey); 7725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 7727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 7737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endIncluded_comparator) 7747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ceilingKey = (String) descendingKeySet.ceiling(keyArray[i]); 7753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), ceilingKey); 7754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_DescendingSubMapKeySet_floor() { 7758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingKeySet; 7759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] keyArray; 7760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String floorKey; 7761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 7763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(0).toString(); 7772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(floorKey)); 7774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 7780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(floorKey)); 7791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 7797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, Integer.parseInt(floorKey)); 7808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 7814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, Integer.parseInt(floorKey)); 7825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 7832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = descendingKeySet.iterator(); 7834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.floor(iterator.next())); 7835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 7836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet.floor(null); 7837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 7838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 7839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 7840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = key; 7844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.floor(endKey)); 7848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.floor(endKey)); 7853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(999).toString(), descendingKeySet 7858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .floor(endKey)); 7859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.floor(key)); 7860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(999).toString(); 7862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, false).navigableKeySet(); 7863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(descendingKeySet.floor(endKey)); 7865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, descendingKeySet.floor(key)); 7866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 7868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 7869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(floorKey)); 7881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 7887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, Integer.parseInt(floorKey)); 7899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 7905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 108; i < keyArray.length; i++) { 7910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, Integer.parseInt(floorKey)); 7917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endIncluded) 7923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingKeySet = keySet.descendingSet(); 7925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) descendingKeySet 7926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toArray(new String[descendingKeySet.size()]); 7927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 109; i < keyArray.length; i++) { 7928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(keyArray[i]); 7929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j - i).toString(), floorKey); 7930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 7933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, Integer.parseInt(floorKey)); 7935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 7937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorKey = (String) descendingKeySet.floor(key); 7938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(floorKey); 7939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_last() { 7942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 7943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String firstKey1 = new Integer(108).toString(); 7944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String firstKey2 = new Integer(109).toString(); 7945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 7947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, keySet.last()); 7948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 7950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, keySet.last()); 7951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 7953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey1, keySet.last()); 7954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 7956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(firstKey2, keySet.last()); 7957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_comparator() { 7960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 7961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 7962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 7963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 7965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 7966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 7968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 7969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 7971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 7972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 7974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 7975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.comparator()); 7976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollFirst_startExcluded_endExcluded() { 7979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endExcluded 7980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 7982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, keySet.size()); 7983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 109; value++) { 7984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 7985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 7987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollFirst()); 7988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 7990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollFirst_startExcluded_endIncluded() { 7991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endIncluded 7992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 7993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 7994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 7995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 110; value++) { 7996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 7997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 7998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 7999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollFirst()); 8000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollFirst_startIncluded_endExcluded() { 8003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endExcluded 8004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 8006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 8007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 109; value++) { 8008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 8009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 8011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollFirst()); 8012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollFirst_startIncluded_endIncluded() { 8015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endIncluded 8016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 8018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, keySet.size()); 8019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 110; value++) { 8020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollFirst()); 8021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 8023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollFirst()); 8024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollFirst() { 8027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 8028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = tm.headMap(endKey, true).navigableKeySet(); 8029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), keySet.pollFirst()); 8030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.tailMap(endKey, true).navigableKeySet(); 8032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(2).toString(), keySet.pollFirst()); 8033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollLast_startExcluded_endExcluded() { 8036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endExcluded 8037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 8039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, keySet.size()); 8040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 100; value--) { 8041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 8042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 8044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 8045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollLast_startExcluded_endIncluded() { 8048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startExcluded_endIncluded 8049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 8051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 8052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 100; value--) { 8053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 8054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 8056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 8057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollLast_startIncluded_endExcluded() { 8060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endExcluded 8061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 8063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, keySet.size()); 8064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 99; value--) { 8065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 8066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 8068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 8069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollLast_startIncluded_endIncluded() { 8072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = navigableMap_startIncluded_endIncluded 8073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 8075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, keySet.size()); 8076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 99; value--) { 8077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), keySet.pollLast()); 8078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.size()); 8080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.pollLast()); 8081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_pollLast() { 8084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 8085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet = tm.headMap(endKey, true).navigableKeySet(); 8086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(2).toString(), keySet.pollLast()); 8087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.tailMap(endKey, true).navigableKeySet(); 8089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(999).toString(), keySet.pollLast()); 8090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_descendingIterator() { 8093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 8094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 8095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 8097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.descendingIterator(); 8098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 100; value--) { 8099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 8111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.descendingIterator(); 8112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 100; value--) { 8113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 8125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.descendingIterator(); 8126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 99; value--) { 8127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 8139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.descendingIterator(); 8140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 99; value--) { 8141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 8153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 8154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.descendingIterator(); 8155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(2).toString(), iterator.next()); 8156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(199).toString(), iterator.next()); 8157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_descendingSet() { 8160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet, descendingSet; 8161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 8162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet() 8164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 8165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 8166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 8167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 109; value++) { 8168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet() 8180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 8181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 8182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 8183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 110; value++) { 8184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet() 8196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 8197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 8198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 8199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 109; value++) { 8200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet() 8212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .descendingSet(); 8213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 8214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 8215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 110; value++) { 8216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 8217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(value).toString(), iterator.next()); 8218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 8220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(1).toString(); 8228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 8229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = keySet.descendingSet(); 8230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 8231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), iterator.next()); 8232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), iterator.next()); 8233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_headSet() { 8236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 8237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedSet headSet; 8238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey, key; 8239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 8240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 8242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 8243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 8263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8264e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey, false); 8265e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8266e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8267e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8268e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8269e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8270e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8271e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey); 8272e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8273e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8274e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8275e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8276e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8277e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8278e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey, true); 8279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 8285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey, false).size()); 8287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 8288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 8290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 8291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 8294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 8315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 8318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int index; 8321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 8343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 8363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 8364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 8384e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8385e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey); 8386e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8387e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8388e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8389e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8390e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8391e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8392e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey, false); 8393e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8394e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8395e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8396e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8397e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 8406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 8409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 8411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 8412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 8416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 8437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 8440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 8463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 8465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 8485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 8486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 8506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey, false).size()); 8508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 8509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 8511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 8518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 8526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(102, index); 8534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 8536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 8537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 8541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 8542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 8550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 8558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 8562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 8565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 8589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 8611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 8612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 8632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey, false).size()); 8634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 8635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 8637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 8644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 8652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(102, index); 8660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 8662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 8663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 8667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 8668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 8676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 8684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 8688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 8691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 8710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 8714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 8716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1).toString(); 8736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 8737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 8738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 8739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) iterator.next(); 8740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, headSet.size()); 8742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator headSetIterator = headSet.iterator(); 8743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), headSetIterator.next()); 8744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(headSetIterator.hasNext()); 8745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 8747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(null, false); 8753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 8754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 8755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, headSet.size()); 8760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 8761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), headSetIterator.next()); 8762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), headSetIterator.next()); 8763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(headSetIterator.hasNext()); 8764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 8766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 8767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 8768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(null, false); 8772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 8773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 8774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 8778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 8779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 8781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 8801e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8802e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey).size(); 8803e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8804e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8805e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8806e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8807e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8808e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8809e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey, false).size(); 8810e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8811e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8812e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8813e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8814e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true).size(); 8817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 8823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey, false).size()); 8825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 8826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 8828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 8829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 8832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 8853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 8856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 8880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endIncluded_comparator) 8900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 8901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 8902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 8904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 8916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 8922e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8923e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey); 8924e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8925e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8926e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8927e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8928e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8929e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 8930e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.headSet(endKey, false); 8931e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 8932e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 8933e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 8934e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } 8935e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath 8936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 8937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 8938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 8939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 8940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 8941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 8944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 8946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 8947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 8949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 8950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 8954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 8967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 101; iterator.hasNext(); j++) { 8971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 8973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 8975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 8978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 8979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 8987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 8992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 8993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 8995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 8996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 8997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 8998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 8999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 9003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 9005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 9011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 9017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endExcluded_comparator) 9023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 9024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 9025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 9027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 9033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 9039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 9045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 9046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey, false).size()); 9047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 9048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 9050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 9051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 9057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 9059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 9065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 9067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(102, index); 9073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 9075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 9076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 9078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 9080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 9081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 9085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 9087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 9089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 9093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 9095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 9097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 9101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 9104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 9105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 9113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 9122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 9128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 9130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 9137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 9144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startIncluded_endIncluded_comparator) 9150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 9151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(99).toString(); 9152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 9154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 9160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 9166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 9172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey).size()); 9173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, keySet.headSet(endKey, false).size()); 9174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, keySet.headSet(endKey, true).size()); 9175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(101).toString(); 9177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 9178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 9184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 9186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(101, index); 9192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 9194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(102, index); 9200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 9202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(i).toString(); 9203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 9205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 9207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 9208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 9212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 9214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 9216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, j); 9220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 9222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = 100; iterator.hasNext(); j++) { 9224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i + 1, j); 9228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(109).toString(); 9231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey); 9232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 9240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 9248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = headSet.iterator(); 9249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(110).toString(); 9256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey); 9258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, false); 9264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(endKey, true); 9270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1).toString(); 9276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 9277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 9278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 9279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) iterator.next(); 9280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, false); 9281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, headSet.size()); 9282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 9283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), headSetIterator.next()); 9284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(headSetIterator.hasNext()); 9285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 9287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 9288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 9289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(null, false); 9293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 9294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 9295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = keySet.headSet(endKey, true); 9299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, headSet.size()); 9300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 9301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), headSetIterator.next()); 9302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), headSetIterator.next()); 9303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(headSetIterator.hasNext()); 9304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 9306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 9307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 9308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.headSet(null, false); 9312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 9313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 9314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_remove() { 9320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap tm_rm = new TreeMap(tm); 9321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap_startExcluded_endExcluded_rm = tm_rm.subMap( 9322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[100].toString(), false, objArray[109].toString(), 9323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 9324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(subMap_startExcluded_endExcluded_rm.remove("0")); 9325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_rm.remove(null); 9327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 9328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (Exception e) { 9329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 108; i++) { 9332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(subMap_startExcluded_endExcluded_rm 9333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .remove(new Integer(i).toString())); 9334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_tailSet() { 9338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 9339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedSet tailSet; 9340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey, key; 9341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 9342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 9344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 9345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 9367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int index; 9380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; index < 109; index++) { 9383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 9388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, index); 9411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 9413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 9414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 9418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 9423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 9431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j + 1).toString(), key); 9437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, j); 9439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 9442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9454e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 9455e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.tailSet(startKey, false); 9456e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 9457e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 9458e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 9459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 9462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 9482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 9483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 9503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 9525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 9526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 9530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, j); 9535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, j); 9543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j + 1).toString(), key); 9549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 9551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 9554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 9557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 9565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 9573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 9579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 9599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 9600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 9620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, index); 9643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 9645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, index); 9668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 9670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 9671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 9675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 9680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 9688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j + 1).toString(), key); 9694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, j); 9696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 9699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9711e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 9712e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.tailSet(startKey, false); 9713e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 9714e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 9715e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 9716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 9719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 9739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 9740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 9759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 9778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 9784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 9809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 9810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 9814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, j); 9819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 9825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, j); 9827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 9831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j + 1).toString(), key); 9833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 9835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 9838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 9841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 9849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 9853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 9857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 9863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(1).toString(); 9883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(endKey, true).navigableKeySet(); 9884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 9885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 9886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) iterator.next(); 9887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailSet.size()); 9889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator tailSetIterator = tailSet.iterator(); 9890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(endKey, tailSetIterator.next()); 9891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 9893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 9894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 9895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(null); 9899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 9900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 9901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, tailSet.size()); 9906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 9907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(endKey, tailSetIterator.next()); 9908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, tailSet.size()); 9911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 9912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 9914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 9915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 9916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(null, false); 9920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 9921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 9922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(null, true); 9926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 9927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 9928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 9932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 9933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 9934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 9935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 9951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 9957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 9959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 9964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 9965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 9966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 9967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 9968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; index < 109; index++) { 9972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(101).toString(); 9977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 9978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 9986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 9990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 9992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 9993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 9994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 9995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 101; iterator.hasNext(); index++) { 9996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 9997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 9998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 9999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, index); 10000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 10002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 10003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 10005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 10007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 10008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 10010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 10012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 10014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 10016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 10018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 10020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 10022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 10024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j + 1).toString(), key); 10026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, j); 10028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 10031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 10033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 10039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10043e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath try { 10044e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath keySet.tailSet(startKey, false); 10045e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath fail("should throw IllegalArgumentException"); 10046e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath } catch (IllegalArgumentException e) { 10047e22b1d53d200616e59483cdbf0df0796583b1007Narayan Kamath // Expected 10048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 10051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 10053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 10059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 10065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 10071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(99).toString(); 10072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 10074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 10080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 10086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(100).toString(); 10092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 10094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 10100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 10106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 100; iterator.hasNext(); index++) { 10108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 10110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 10112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 102; i < 109; i++) { 10114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(i).toString(); 10115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 10117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int j; 10119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 10120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 10122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, j); 10124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 10126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 10128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j).toString(), key); 10130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, j); 10132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 10134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (j = i; iterator.hasNext(); j++) { 10136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(j + 1).toString(), key); 10138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, j); 10140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(109).toString(); 10143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey); 10144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 10146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 10148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 10150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, true); 10152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 10154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), key); 10156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, index); 10158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = keySet.tailSet(startKey, false); 10160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = tailSet.iterator(); 10161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (index = 109; iterator.hasNext(); index++) { 10162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index + 1).toString(), key); 10164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, index); 10166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(110).toString(); 10168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey); 10170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, true); 10176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.tailSet(startKey, false); 10182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_subSet() { 10189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 10190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedSet subSet; 10191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey, endKey, key; 10192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator startIterator, endIterator, subSetIterator; 10193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 10195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startIterator = keySet.iterator(); 10196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (startIterator.hasNext()) { 10197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) startIterator.next(); 10198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endIterator = keySet.iterator(); 10199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (endIterator.hasNext()) { 10200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) endIterator.next(); 10201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex = Integer.valueOf(startKey); 10202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int endIndex = Integer.valueOf(endKey); 10203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex > endIndex) { 10204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, endKey); 10206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, endKey, false); 10213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, endKey, true); 10220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, endKey, false); 10227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, endKey, true); 10234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, endKey); 10240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 10242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, false); 10247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; subSetIterator.hasNext(); index++) { 10249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, true); 10254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; subSetIterator.hasNext(); index++) { 10256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, false); 10261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 10263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, true); 10268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 10270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1).toString(); 10278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 10280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) iterator.next(); 10281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) iterator.next(); 10282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, endKey); 10284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 10285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), subSetIterator.next()); 10287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, false); 10295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSet.size()); 10296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, true); 10298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 10299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), subSetIterator.next()); 10301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, false); 10309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 10310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), subSetIterator.next()); 10312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, true); 10320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 10321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), subSetIterator.next()); 10323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), subSetIterator.next()); 10324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, null); 10333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, null, false); 10340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, null, true); 10347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, null, false); 10354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, null, true); 10361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, endKey); 10368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, endKey, false); 10375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, endKey, true); 10382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, endKey, false); 10389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, endKey, true); 10396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, null); 10403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, null, false); 10410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, null, true); 10417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, null, false); 10424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, null, true); 10431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 10437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = ((NavigableMap) subMap_startExcluded_endExcluded_comparator) 10438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .navigableKeySet(); 10439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startIterator = keySet.iterator(); 10440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (startIterator.hasNext()) { 10441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) startIterator.next(); 10442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endIterator = keySet.iterator(); 10443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (endIterator.hasNext()) { 10444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) endIterator.next(); 10445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex = Integer.valueOf(startKey); 10446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int endIndex = Integer.valueOf(endKey); 10447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex > endIndex) { 10448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, endKey); 10450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 10451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, endKey, false); 10457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, endKey, true); 10464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, endKey, false); 10471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, endKey, true); 10478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("shoudl throw IllegalArgumentException"); 10479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 10480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, endKey); 10484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 10486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, false); 10491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; subSetIterator.hasNext(); index++) { 10493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, true); 10498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; subSetIterator.hasNext(); index++) { 10500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, false); 10505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 10507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, true); 10512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 10514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(index).toString(), 10515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next()); 10516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1).toString(); 10522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = (String) iterator.next(); 10525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = (String) iterator.next(); 10526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, endKey); 10528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 10529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), subSetIterator.next()); 10531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, false); 10539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subSet.size()); 10540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, false, endKey, true); 10542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 10543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), subSetIterator.next()); 10545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, false); 10553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 10554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), subSetIterator.next()); 10556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = keySet.subSet(startKey, true, endKey, true); 10564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 10565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 10566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(0).toString(), subSetIterator.next()); 10567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), subSetIterator.next()); 10568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator.next(); 10570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 10571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 10572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, null); 10577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, null, false); 10584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, null, true); 10591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, null, false); 10598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, null, true); 10605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, endKey); 10612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, endKey, false); 10619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, false, endKey, true); 10626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, endKey, false); 10633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(null, true, endKey, true); 10640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, null); 10647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, null, false); 10654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, false, null, true); 10661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, null, false); 10668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.subSet(startKey, true, null, true); 10675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_lower() { 10683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 10684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 10685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key, lowerKey; 10686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value, lowerValue; 10687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 10689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.lower(key); 10694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 10695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerValue); 10697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 10703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.lower(key); 10708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 10709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerValue); 10711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 10717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.lower(key); 10722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 10723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerValue); 10725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 10731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.lower(key); 10736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 10737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerValue); 10739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 10745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 0 10748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String expectedLowerKey = (String) iterator.next();// 1 10749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(expectedLowerKey, keySet.lower(iterator.next())); 10750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.lower(null); 10753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.lower(key)); 10761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.lower(key)); 10765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(keySet.lower(key)); 10769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNotNull(keySet.lower(key)); 10773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_higher() { 10776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 10777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 10778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key, lowerKey; 10779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value, lowerValue; 10780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 10782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.higher(key); 10787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 10788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 10790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 10796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.higher(key); 10801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 10802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 10804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 10810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.higher(key); 10815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 10816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 10818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 10824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 10826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) iterator.next(); 10827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = Integer.valueOf(key); 10828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.higher(key); 10829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 10830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerValue = Integer.valueOf(lowerKey); 10831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerValue); 10832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 10833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerKey); 10834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 10838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 10840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 0 10841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next();// 1 10842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerKey = (String) keySet.higher(iterator.next()); 10843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String expectedLowerKey = (String) iterator.next(); 10844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(expectedLowerKey, lowerKey); 10845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.higher(null); 10848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.higher(key)); 10856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.higher(key)); 10860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.higher(key)); 10864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.higher(key)); 10868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_ceiling() { 10871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 10872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key; 10873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] keyArray; 10874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 10876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < keyArray.length; i++) { 10878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.ceiling(keyArray[i]); 10879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 10883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < keyArray.length; i++) { 10885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.ceiling(keyArray[i]); 10886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 10890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 100; i < keyArray.length; i++) { 10892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.ceiling(keyArray[i]); 10893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 10897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 100; i < keyArray.length; i++) { 10899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.ceiling(keyArray[i]); 10900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 10904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 10906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 10907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), keySet.ceiling(iterator.next())); 10908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.ceiling(null); 10911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, keySet.ceiling(key)); 10919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.higher(key)); 10923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.higher(key)); 10927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.higher(key)); 10931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapKeySet_floor() { 10934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet keySet; 10935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key; 10936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String[] keyArray; 10937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endExcluded.navigableKeySet(); 10939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < keyArray.length; i++) { 10941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.floor(keyArray[i]); 10942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startExcluded_endIncluded.navigableKeySet(); 10946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 101; i < keyArray.length; i++) { 10948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.floor(keyArray[i]); 10949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endExcluded.navigableKeySet(); 10953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 100; i < keyArray.length; i++) { 10955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.floor(keyArray[i]); 10956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = navigableMap_startIncluded_endIncluded.navigableKeySet(); 10960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keyArray = (String[]) keySet.toArray(new String[keySet.size()]); 10961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0, j = 100; i < keyArray.length; i++) { 10962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = (String) keySet.floor(keyArray[i]); 10963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i + j).toString(), key); 10964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(2).toString(); 10967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 10969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 10970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(1).toString(), keySet.floor(iterator.next())); 10971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 10973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.floor(null); 10974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 10975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 10976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 10977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, keySet.floor(key)); 10982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(0).toString(); 10984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(keySet.floor(key)); 10986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, true).navigableKeySet(); 10989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(key, keySet.floor(key)); 10990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(999).toString(); 10992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = tm.headMap(key, false).navigableKeySet(); 10993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(998).toString(), keySet.floor(key)); 10994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 10995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 10996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_BoundedEntryIterator_next() { 10997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = subMap_default.entrySet().iterator(); 10998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 10999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; iterator.hasNext(); i++) { 11000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, ((Entry) iterator.next()).getValue()); 11001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw java.util.NoSuchElementException"); 11006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_BoundedKeyIterator_next() { 11013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = subMap_default.keySet().iterator(); 11014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; iterator.hasNext(); i++) { 11016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(i).toString(), iterator.next()); 11017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw java.util.NoSuchElementException"); 11022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_BoundedValueIterator_next() { 11028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(101).toString(); 11029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(108).toString(); 11030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Collection values = tm.subMap(startKey, endKey).values(); 11032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iter = values.iterator(); 11033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 108; i++) { 11034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(i, iter.next()); 11035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.next(); 11038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw java.util.NoSuchElementException"); 11039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (Exception e) { 11040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /* 11045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * SubMapEntrySet 11046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 11047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapEntrySet_Constructor() { 11048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapEntrySet_contains() { 11051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // covered in test_SubMapEntrySet_remove 11052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapEntrySet_iterator() { 11055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = subMap_default.entrySet(); 11056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 11057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 11058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Integer value = new Integer(100); 11059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value.intValue()); 11065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded.entrySet(); 11073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(101); 11074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value.intValue()); 11080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded.entrySet(); 11088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(101); 11089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value.intValue()); 11095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded.entrySet(); 11103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 11104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value.intValue()); 11110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded.entrySet(); 11118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 11119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value.intValue()); 11125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(-1).toString(); 11133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(0).toString(); 11134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap = tm.subMap(startKey, endKey); 11135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap.entrySet(); 11136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 11137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(1).toString(); 11145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap.entrySet(); 11147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 11148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, ((Entry) iterator.next()).getValue()); 11149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(2000).toString(); 11157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap.entrySet(); 11159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 11160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < subMap.size(); i++) { 11161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(9).toString(); 11171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(100).toString(); 11172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm.subMap(startKey, endKey); 11174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 11175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 11176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 11180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_default_comparator.entrySet(); 11181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 11182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value.intValue()); 11188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 11196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(101); 11197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value.intValue()); 11203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded_comparator.entrySet(); 11211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(101); 11212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value.intValue()); 11218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded_comparator.entrySet(); 11226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 11227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value.intValue()); 11233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded_comparator.entrySet(); 11241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = new Integer(100); 11242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (iterator = entrySet.iterator(); iterator.hasNext(); value++) { 11243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value.toString(), entry.getKey()); 11245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value.intValue()); 11248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapEntrySet_remove() { 11257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = subMap_default.entrySet(); 11258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.remove(null)); 11259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int size = entrySet.size(); 11260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = entrySet.iterator(); 11262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(entrySet.remove(iterator.next())); 11263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded.entrySet(); 11266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.remove(null)); 11267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = entrySet.size(); 11268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = entrySet.iterator(); 11270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(entrySet.remove(iterator.next())); 11271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded.entrySet(); 11274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.remove(null)); 11275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = entrySet.size(); 11276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = entrySet.iterator(); 11278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(entrySet.remove(iterator.next())); 11279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded.entrySet(); 11282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.remove(null)); 11283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = entrySet.size(); 11284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = entrySet.iterator(); 11286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(entrySet.remove(iterator.next())); 11287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded.entrySet(); 11290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(entrySet.remove(null)); 11291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = entrySet.size(); 11292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = entrySet.iterator(); 11294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(entrySet.remove(iterator.next())); 11295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapEntrySet_isEmpty() { 11299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_default.entrySet().isEmpty()); 11300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startExcluded_endExcluded.entrySet().isEmpty()); 11301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startExcluded_endIncluded.entrySet().isEmpty()); 11302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startIncluded_endExcluded.entrySet().isEmpty()); 11303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startIncluded_endIncluded.entrySet().isEmpty()); 11304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(0).toString(); 11306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = startKey; 11307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap = tm.subMap(startKey, endKey); 11308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.entrySet().isEmpty()); 11309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(-1).toString(); 11311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.entrySet().isEmpty()); 11313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(1).toString(); 11315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.entrySet().isEmpty()); 11317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapEntrySet_size() { 11320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_default.entrySet().size()); 11321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, subMap_startExcluded_endExcluded.entrySet().size()); 11322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startExcluded_endIncluded.entrySet().size()); 11323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startIncluded_endExcluded.entrySet().size()); 11324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, subMap_startIncluded_endIncluded.entrySet().size()); 11325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(0).toString(); 11327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 11328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap = tm.subMap(startKey, endKey); 11329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(112, subMap.entrySet().size()); 11330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(0).toString(); 11332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 11333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subMap.entrySet().size()); 11335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(-1).toString(); 11337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 11338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subMap.entrySet().size()); 11340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(1).toString(); 11342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subMap.entrySet().size()); 11344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(999).toString(); 11346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 11347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subMap.entrySet().size()); 11349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /* 11352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * SubMapKeySet 11353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 11354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapKeySet_Constructor() { 11355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // covered in other test 11356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapKeySet_iterator() { 11359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set keySet = subMap_default.keySet(); 11360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 11361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(100 + i).toString(), iterator.next()); 11363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endExcluded.keySet(); 11373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(101 + i).toString(), iterator.next()); 11376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endIncluded.keySet(); 11386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(101 + i).toString(), iterator.next()); 11389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endExcluded.keySet(); 11399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(100 + i).toString(), iterator.next()); 11402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endIncluded.keySet(); 11412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(100 + i).toString(), iterator.next()); 11415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 11425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_default_comparator.keySet(); 11426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(100 + i).toString(), iterator.next()); 11429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endExcluded_comparator.keySet(); 11439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(101 + i).toString(), iterator.next()); 11442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endIncluded_comparator.keySet(); 11452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(101 + i).toString(), iterator.next()); 11455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endExcluded_comparator.keySet(); 11465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(100 + i).toString(), iterator.next()); 11468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endIncluded_comparator.keySet(); 11478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = keySet.iterator(); 11479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < keySet.size(); i++) { 11480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(new Integer(100 + i).toString(), iterator.next()); 11481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 11483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 11485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 11486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 11487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapKeySet_isEmpty() { 11492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_default.keySet().isEmpty()); 11493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startExcluded_endExcluded.keySet().isEmpty()); 11494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startExcluded_endIncluded.keySet().isEmpty()); 11495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startIncluded_endExcluded.keySet().isEmpty()); 11496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap_startIncluded_endIncluded.keySet().isEmpty()); 11497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(0).toString(); 11499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = startKey; 11500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap = tm.subMap(startKey, endKey); 11501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.keySet().isEmpty()); 11502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(999).toString(); 11504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 11505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.keySet().isEmpty()); 11507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(-1).toString(); 11509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(1).toString(); 11510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(subMap.keySet().isEmpty()); 11512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(0).toString(); 11514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap.keySet().isEmpty()); 11516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapKeySet_contains() { 11519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set keySet = subMap_default.keySet(); 11520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.contains(null); 11522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String key = new Integer(-1).toString(); 11527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99).toString(); 11529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 11531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 11533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 11534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 11537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(110).toString(); 11539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1001).toString(); 11541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endExcluded.keySet(); 11544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.contains(null); 11546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 11551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99).toString(); 11553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 11555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 11557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 11558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 11561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(110).toString(); 11563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1001).toString(); 11565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endIncluded.keySet(); 11568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.contains(null); 11570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 11575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99).toString(); 11577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 11579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 11581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 11582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 11585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(110).toString(); 11587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1001).toString(); 11589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endExcluded.keySet(); 11592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.contains(null); 11594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 11599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99).toString(); 11601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 11603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 11605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 11606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 11609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(110).toString(); 11611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1001).toString(); 11613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endIncluded.keySet(); 11616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.contains(null); 11618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(-1).toString(); 11623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(99).toString(); 11625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(100).toString(); 11627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 11629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(i).toString(); 11630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(109).toString(); 11633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.contains(key)); 11634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(110).toString(); 11635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath key = new Integer(1001).toString(); 11637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(keySet.contains(key)); 11638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapKeySet_size() { 11641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_default.keySet().size()); 11642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(8, subMap_startExcluded_endExcluded.keySet().size()); 11643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startExcluded_endIncluded.keySet().size()); 11644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(9, subMap_startIncluded_endExcluded.keySet().size()); 11645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(10, subMap_startIncluded_endIncluded.keySet().size()); 11646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(0).toString(); 11648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 11649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SortedMap subMap = tm.subMap(startKey, endKey); 11650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(112, subMap.keySet().size()); 11651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(0).toString(); 11653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 11654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subMap.keySet().size()); 11656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(-1).toString(); 11658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 11659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subMap.keySet().size()); 11661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = new Integer(1).toString(); 11663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subMap.keySet().size()); 11665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath startKey = new Integer(999).toString(); 11667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endKey = startKey; 11668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap = tm.subMap(startKey, endKey); 11669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, subMap.keySet().size()); 11670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_SubMapKeySet_remove() { 11673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set keySet = subMap_default.keySet(); 11674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.remove(null); 11676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int size = keySet.size(); 11681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 11683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.remove(iterator.next())); 11684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endExcluded.keySet(); 11687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.remove(null); 11689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = keySet.size(); 11694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 11696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.remove(iterator.next())); 11697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startExcluded_endIncluded.keySet(); 11700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.remove(null); 11702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = keySet.size(); 11707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 11709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.remove(iterator.next())); 11710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endExcluded.keySet(); 11713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.remove(null); 11715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = keySet.size(); 11720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 11722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.remove(iterator.next())); 11723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet = subMap_startIncluded_endIncluded.keySet(); 11726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 11727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath keySet.remove(null); 11728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 11729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 11730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 11731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath size = keySet.size(); 11733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < size; i++) { 11734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = keySet.iterator(); 11735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(keySet.remove(iterator.next())); 11736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /* 11740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * AscendingSubMapEntrySet 11741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 11742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_comparator() { 11744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 11745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 11746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 11748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.comparator()); 11751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 11754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.comparator()); 11757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 11760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.comparator()); 11763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 11766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.comparator()); 11769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_descendingSet() { 11773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 11774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet, descendingSet; 11775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 11776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 11777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 11778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 11780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 11783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 11784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; iterator.hasNext(); value--) { 11786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, value); 11790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 11793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 11796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 11797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; iterator.hasNext(); value--) { 11799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, value); 11803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 11806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 11809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 11810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; iterator.hasNext(); value--) { 11812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, value); 11816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 11819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath descendingSet = ascendingSubMapEntrySet.descendingSet(); 11822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = descendingSet.iterator(); 11823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; iterator.hasNext(); value--) { 11825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, value); 11829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_descendingIterator() { 11833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 11834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 11835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 11836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 11837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 11838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 11840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.descendingIterator(); 11843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; iterator.hasNext(); value--) { 11845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, value); 11849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 11852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.descendingIterator(); 11855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; iterator.hasNext(); value--) { 11857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(100, value); 11861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 11864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.descendingIterator(); 11867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 108; iterator.hasNext(); value--) { 11869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, value); 11873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 11876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.descendingIterator(); 11879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 109; iterator.hasNext(); value--) { 11881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 11882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(99, value); 11885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String startKey = new Integer(2).toString(); 11888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(startKey, true).entrySet(); 11889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 11891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.descendingIterator(); 11892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iterator.hasNext()); 11893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, ((Entry) iterator.next()).getValue()); 11894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollFirst_startExcluded_endExcluded() { 11898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 11899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 11901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 109; value++) { 11902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollFirst(); 11903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 11906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty. 11907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollFirst()); 11908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollFirst_startExcluded_endIncluded() { 11912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 11913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 11915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 101; value < 110; value++) { 11916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollFirst(); 11917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 11920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty. 11921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollFirst()); 11922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollFirst_startIncluded_endExcluded() { 11926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 11927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 11929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 109; value++) { 11930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollFirst(); 11931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 11934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty. 11935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollFirst()); 11936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollFirst_startIncluded_endIncluded() { 11940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 11941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 11943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 100; value < 110; value++) { 11944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollFirst(); 11945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 11948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty. 11949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollFirst()); 11950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollLast_startExcluded_endExcluded() { 11954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 11955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 11957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 100; value--) { 11958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollLast(); 11959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 11962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty 11963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollLast()); 11964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // NavigableMap ascendingSubMap = tm.headMap("2", true); 11967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Set entrySet = ascendingSubMap.entrySet(); 11968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Object last; 11969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // if (entrySet instanceof NavigableSet) { 11970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // last = ((NavigableSet) entrySet).pollLast(); 11971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // assertEquals("2=2", last.toString()); 11972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // } 11973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // 11974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // ascendingSubMap = tm.tailMap("2", true); 11975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // entrySet = ascendingSubMap.entrySet(); 11976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // if (entrySet instanceof NavigableSet) { 11977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // last = ((NavigableSet) entrySet).pollLast(); 11978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // assertEquals("999=999", last.toString()); 11979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // } 11980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollLast_startExcluded_endIncluded() { 11983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 11984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 11986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 100; value--) { 11987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollLast(); 11988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 11989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 11991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty 11992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollLast()); 11993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 11995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 11996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollLast_startIncluded_endExcluded() { 11997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 11998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 11999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 12000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 108; value > 99; value--) { 12001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollLast(); 12002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 12003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 12005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty 12006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollLast()); 12007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_pollLast_startIncluded_endIncluded() { 12011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 12012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet = (NavigableSet) entrySet; 12014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int value = 109; value > 99; value--) { 12015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry = (Entry) ascendingSubMapEntrySet.pollLast(); 12016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, entry.getValue()); 12017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ascendingSubMapEntrySet.isEmpty()); 12019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // should return null if the set is empty 12020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(ascendingSubMapEntrySet.pollLast()); 12021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_headSet() { 12025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, headSet; 12026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 12027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator, headSetIterator; 12028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 12029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 12030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 12032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry); 12038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; headSetIterator.hasNext(); value++) { 12040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, false); 12052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; headSetIterator.hasNext(); value++) { 12054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, true); 12066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; headSetIterator.hasNext(); value++) { 12068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value - 1); 12072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 12082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry); 12088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; headSetIterator.hasNext(); value++) { 12090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, false); 12102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; headSetIterator.hasNext(); value++) { 12104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, true); 12116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 101; headSetIterator.hasNext(); value++) { 12118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value - 1); 12122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 12132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry); 12138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; headSetIterator.hasNext(); value++) { 12140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, false); 12152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; headSetIterator.hasNext(); value++) { 12154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, true); 12166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; headSetIterator.hasNext(); value++) { 12168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value - 1); 12172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 12182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry); 12188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; headSetIterator.hasNext(); value++) { 12190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, false); 12202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; headSetIterator.hasNext(); value++) { 12204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value); 12208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSet = ascendingSubMapEntrySet.headSet(entry, true); 12216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator = headSet.iterator(); 12217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = 100; headSetIterator.hasNext(); value++) { 12218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) headSetIterator.next()) 12219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), value - 1); 12222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath headSetIterator.next(); 12224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // NavigableMap ascendingSubMap = tm.headMap("1", true); 12232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // entrySet = ascendingSubMap.entrySet(); 12233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // if (entrySet instanceof SortedSet) { 12234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Iterator it = entrySet.iterator(); 12235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // it.next(); 12236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Object end = it.next();// 1=1 12237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Set headSet = ((NavigableSet) entrySet).headSet(end);// inclusive 12238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // // false 12239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // assertEquals(1, headSet.size()); 12240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // } 12241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_tailSet() { 12244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, tailSet; 12245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 12246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator, tailSetIterator; 12247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry; 12248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 12249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 12251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 12254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry); 12257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, false); 12272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, true); 12287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 12289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 12304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 12307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry); 12310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 12317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, false); 12325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 12332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, true); 12340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 12342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 12347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 12357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 12360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry); 12363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, false); 12378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, true); 12393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 12395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 12410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 12413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry); 12416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 12423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, false); 12431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue() + 1; tailSetIterator 12433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 12438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSet = ascendingSubMapEntrySet.tailSet(entry, true); 12446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator = tailSet.iterator(); 12447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (value = (Integer) entry.getValue(); tailSetIterator 12448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); value++) { 12449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, ((Entry) tailSetIterator.next()) 12450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(110, value); 12453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tailSetIterator.next(); 12455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 12456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 12457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // NavigableMap ascendingSubMap = tm.headMap("1", true); 12463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Set entrySet = ascendingSubMap.entrySet(); 12464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // if (entrySet instanceof NavigableSet) { 12465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Iterator it = entrySet.iterator(); 12466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Object start = it.next();// 0=0 12467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Set tailSet = ((NavigableSet) entrySet).tailSet(start);// default 12468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // // inclusive 12469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // // false 12470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // assertEquals(1, tailSet.size()); 12471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // } 12472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_subSet() { 12475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet, subSet; 12476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 12477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 12479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iteratorStart = ascendingSubMapEntrySet.iterator(); 12482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iteratorStart.hasNext()) { 12483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry startEntry = (Entry) iteratorStart.next(); 12484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iteratorEnd = ascendingSubMapEntrySet.iterator(); 12485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iteratorEnd.hasNext()) { 12486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry endEntry = (Entry) iteratorEnd.next(); 12487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int startIndex = (Integer) startEntry.getValue(); 12488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int endIndex = (Integer) endEntry.getValue(); 12489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (startIndex > endIndex) { 12490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet 12492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subSet(startEntry, endEntry); 12493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 12494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 12495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.subSet(startEntry, false, 12500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 12501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 12502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 12503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.subSet(startEntry, false, 12508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 12509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 12510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 12511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.subSet(startEntry, true, 12516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 12517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 12518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 12519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.subSet(startEntry, true, 12524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 12525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalArgumentException"); 12526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 12527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, 12531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry); 12532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator subSetIterator = subSet.iterator(); 12533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; subSetIterator 12534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); index++) { 12535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 12536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, 12540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, endEntry, false); 12541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 12542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; subSetIterator 12543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); index++) { 12544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 12545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, 12549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, endEntry, true); 12550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 12551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex + 1; subSetIterator 12552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .hasNext(); index++) { 12553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 12554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, 12558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, endEntry, false); 12559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 12560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 12561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 12562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, 12566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, endEntry, true); 12567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSetIterator = subSet.iterator(); 12568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int index = startIndex; subSetIterator.hasNext(); index++) { 12569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(index, ((Entry) subSetIterator.next()) 12570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .getValue()); 12571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 12578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 12579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator = entrySet.iterator(); 12582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object startEntry = iterator.next(); 12583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator.next(); 12584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object endEntry = iterator.next(); 12585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, endEntry); 12586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 12587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, false, 12589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, false); 12590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, subSet.size()); 12591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, false, 12593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath endEntry, true); 12594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 12595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, true, endEntry, 12597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 12598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, subSet.size()); 12599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subSet = ascendingSubMapEntrySet.subSet(startEntry, true, endEntry, 12601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true); 12602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, subSet.size()); 12603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_lower() { 12607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 12608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 12609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 12610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry, lowerEntry; 12611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 12612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 12614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 12622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 12630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 12638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 12646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 12654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 12662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 12670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 12678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 12679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 12682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry expectedEntry = (Entry) iterator.next(); 12683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(expectedEntry, ascendingSubMapEntrySet.lower(entry)); 12685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 12688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 12690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 12698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded_comparator.entrySet(); 12706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 101) { 12714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded_comparator.entrySet(); 12722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 12730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded_comparator.entrySet(); 12738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.lower(entry); 12744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value > 100) { 12746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value - 1, lowerEntry.getValue()); 12747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_higher() { 12755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 12756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 12757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 12758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry, lowerEntry; 12759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 12760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 12762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 12770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 12778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 12786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 12794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 12802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 12810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 12818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath String endKey = new Integer(2).toString(); 12826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = tm.headMap(endKey, true).entrySet(); 12827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = entrySet.iterator(); 12830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry expectedEntry = (Entry) iterator.next(); 12832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(expectedEntry, ascendingSubMapEntrySet.higher(entry)); 12833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 12836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 12837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 12845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded_comparator.entrySet(); 12853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 12861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded_comparator.entrySet(); 12869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 108) { 12877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded_comparator.entrySet(); 12885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.higher(entry); 12891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (value < 109) { 12893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value + 1, lowerEntry.getValue()); 12894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } else { 12895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(lowerEntry); 12896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12899cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12900cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12901cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_ceiling() { 12902cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 12903cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 12904cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 12905cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12906cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet_beyondBound; 12907cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator_beyondBound; 12908cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry beyondBoundEntry; 12909cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12910cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry, lowerEntry; 12911cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value = 0; 12912cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12913cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 12914cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12915cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12916cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12917cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 12918cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 12919cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 12920cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12921cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12922cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12923cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12924cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12925cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12926cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 12927cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12928cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 12929cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12930cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, value); 12931cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12932cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12933cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12934cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 12935cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12936cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12937cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12938cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 12939cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 12940cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 12941cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12942cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12943cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12944cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 12948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 12950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 12955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 12959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 12960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 12961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 12968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 12970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, value); 12972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 12975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 12979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 12980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 12981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 12982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12984cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 12985cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 12986cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 12987cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 12988cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 12989cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 12990cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12991cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 12992cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 12993cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 12994cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 12995cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded_comparator.entrySet(); 12996cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 12997cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 12998cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 12999cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 13000cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13001cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13002cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13003cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13004cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13005cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13006cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 13007cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13008cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 13009cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 13010cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 13011cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13012cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 13013cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13014cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13015cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded_comparator.entrySet(); 13016cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13017cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13018cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13019cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 13020cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13021cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13022cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13023cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13024cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13025cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13026cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 13027cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13028cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 13029cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 13030cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 13031cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13032cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, value); 13033cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13034cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13035cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded_comparator.entrySet(); 13036cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13037cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13038cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13039cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 13040cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13041cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13042cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13043cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13044cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13045cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13046cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 13047cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13048cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 13049cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 13050cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 13051cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13052cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(109, value); 13053cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13054cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13055cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 13056cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13057cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13058cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13059cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.ceiling(null); 13060cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13061cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13062cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13063cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13064cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13065cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13066cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (iterator.hasNext()) { 13067cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13068cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath lowerEntry = (Entry) ascendingSubMapEntrySet.ceiling(entry); 13069cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath value = (Integer) entry.getValue(); 13070cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(value, lowerEntry.getValue()); 13071cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13072cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(108, value); 13073cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13074cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13075cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13076cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_AscendingSubMapEntrySet_floor() { 13077cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Set entrySet; 13078cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableSet ascendingSubMapEntrySet; 13079cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator iterator; 13080cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Entry entry, floorEntry; 13081cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath int value; 13082cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13083cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endExcluded.entrySet(); 13084cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13085cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13086cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13087cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13088cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13089cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13090cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13091cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13092cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13093cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13094cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 13095cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13096cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13097cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13098cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13099cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startExcluded_endIncluded.entrySet(); 13103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 110; i++) { 13114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endExcluded.entrySet(); 13122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 109; i++) { 13133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = navigableMap_startIncluded_endIncluded.entrySet(); 13141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 110; i++) { 13152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // With Comparator 13160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endExcluded_comparator.entrySet(); 13161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 109; i++) { 13172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startExcluded_endIncluded_comparator.entrySet(); 13180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 101; i < 110; i++) { 13191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endExcluded_comparator.entrySet(); 13199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 109; i++) { 13210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entrySet = subMap_startIncluded_endIncluded.entrySet(); 13218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (entrySet instanceof NavigableSet) { 13219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet = (NavigableSet) entrySet; 13220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ascendingSubMapEntrySet.floor(null); 13222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 13223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 13224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // Expected 13225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iterator = ascendingSubMapEntrySet.iterator(); 13228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 100; i < 110; i++) { 13229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath entry = (Entry) iterator.next(); 13230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath floorEntry = (Entry) ascendingSubMapEntrySet.floor(entry); 13231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(entry.getValue(), floorEntry.getValue()); 13232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iterator.hasNext()); 13234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath @Override 13238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath protected void setUp() { 13239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm = new TreeMap(); 13240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm_comparator = new TreeMap(new MockComparator()); 13241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < objArray.length; i++) { 13242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object x = objArray[i] = new Integer(i); 13243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm.put(x.toString(), x); 13244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm_comparator.put(x.toString(), x); 13245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default = tm.subMap(objArray[100].toString(), objArray[109] 13248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString()); 13249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded = tm.subMap(objArray[100].toString(), 13250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, objArray[109].toString(), false); 13251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded = tm.subMap(objArray[100].toString(), 13252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false, objArray[109].toString(), true); 13253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded = tm.subMap(objArray[100].toString(), 13254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, objArray[109].toString(), false); 13255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded = tm.subMap(objArray[100].toString(), 13256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath true, objArray[109].toString(), true); 13257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_beforeStart_100 = tm.subMap(objArray[0].toString(), 13259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[1].toString()); 13260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_afterEnd_109 = tm.subMap(objArray[110].toString(), 13262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[119].toString()); 13263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap_startExcluded_endExcluded instanceof NavigableMap); 13265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap_startExcluded_endIncluded instanceof NavigableMap); 13266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap_startIncluded_endExcluded instanceof NavigableMap); 13267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(subMap_startIncluded_endIncluded instanceof NavigableMap); 13268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startExcluded_endExcluded = (NavigableMap) subMap_startExcluded_endExcluded; 13270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startExcluded_endIncluded = (NavigableMap) subMap_startExcluded_endIncluded; 13271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startIncluded_endExcluded = (NavigableMap) subMap_startIncluded_endExcluded; 13272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath navigableMap_startIncluded_endIncluded = (NavigableMap) subMap_startIncluded_endIncluded; 13273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator = tm_comparator.subMap(objArray[100] 13275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), objArray[109].toString()); 13276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator = tm_comparator.subMap( 13277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[100].toString(), false, objArray[109].toString(), 13278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false); 13279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator = tm_comparator 13281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(objArray[100].toString(), false, objArray[109] 13282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), true); 13283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator = tm_comparator 13284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .subMap(objArray[100].toString(), true, objArray[109] 13285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), false); 13286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator = tm_comparator.subMap( 13287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[100].toString(), true, objArray[109].toString(), true); 13288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath @Override 13291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath protected void tearDown() { 13292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm = null; 13293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm_comparator = null; 13294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default = null; 13296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded = null; 13297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded = null; 13298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded = null; 13299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded = null; 13300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_beforeStart_100 = null; 13302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_afterEnd_109 = null; 13303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_default_comparator = null; 13305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endExcluded_comparator = null; 13306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startExcluded_endIncluded_comparator = null; 13307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endExcluded_comparator = null; 13308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath subMap_startIncluded_endIncluded_comparator = null; 13309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_lower_null() throws Exception { 13312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap map = tm.subMap(objArray[100].toString(), true, 13313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[100].toString(), false); 13314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.ceilingKey(objArray[100].toString())); 13315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.floorKey(objArray[100].toString())); 13316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.lowerKey(objArray[100].toString())); 13317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.higherKey(objArray[100].toString())); 13318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.ceilingKey(objArray[111].toString())); 13319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.floorKey(objArray[111].toString())); 13320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.lowerKey(objArray[111].toString())); 13321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.higherKey(objArray[111].toString())); 13322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.ceilingKey(objArray[1].toString())); 13323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.floorKey(objArray[1].toString())); 13324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.lowerKey(objArray[1].toString())); 13325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.higherKey(objArray[1].toString())); 13326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.descendingMap(); 13327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.ceilingKey(objArray[100].toString())); 13328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.floorKey(objArray[100].toString())); 13329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.lowerKey(objArray[100].toString())); 13330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.higherKey(objArray[100].toString())); 13331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.ceilingKey(objArray[111].toString())); 13332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.floorKey(objArray[111].toString())); 13333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.lowerKey(objArray[111].toString())); 13334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.higherKey(objArray[111].toString())); 13335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.ceilingKey(objArray[1].toString())); 13336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.floorKey(objArray[1].toString())); 13337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.lowerKey(objArray[1].toString())); 13338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(map.higherKey(objArray[1].toString())); 13339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_lower_tail() throws Exception { 13342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap map = tm.subMap(objArray[102].toString(), true, 13343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[103].toString(), false); 13344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.containsKey(objArray[102].toString())); 13345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[103].toString())); 13347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[104].toString())); 13348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.descendingMap(); 13349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.containsKey(objArray[102].toString())); 13350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[103].toString())); 13352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[104].toString())); 13353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = tm.subMap(objArray[102].toString(), true, objArray[102] 13354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), false); 13355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[102].toString())); 13356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[103].toString())); 13358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[104].toString())); 13359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.descendingMap(); 13360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[102].toString())); 13361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[103].toString())); 13363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[104].toString())); 13364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_contains_null() throws Exception { 13367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap map = tm.subMap(objArray[100].toString(), true, 13368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[100].toString(), false); 13369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[100].toString())); 13370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[10].toString())); 13371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[102].toString())); 13373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[1].toString())); 13374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.descendingMap(); 13375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[100].toString())); 13376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[10].toString())); 13377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[102].toString())); 13379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[1].toString())); 13380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_contains() throws Exception { 13383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap map = tm.subMap(objArray[102].toString(), true, 13384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[103].toString(), false); 13385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[100].toString())); 13386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[104].toString())); 13387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.containsKey(objArray[102].toString())); 13389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.descendingMap(); 13390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[100].toString())); 13391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[104].toString())); 13392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.containsKey(objArray[101].toString())); 13393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.containsKey(objArray[102].toString())); 13394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_size() throws Exception { 13397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap map = tm.subMap(objArray[102].toString(), true, 13398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[103].toString(), false); 13399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, map.headMap(objArray[102].toString(), false).size()); 13400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, map.headMap(objArray[102].toString(), true).size()); 13401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, map.headMap(objArray[103].toString(), true).size()); 13403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IAE"); 13404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 13405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, map.headMap(objArray[103].toString(), false).size()); 13407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, map.tailMap(objArray[102].toString(), true).size()); 13408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, map.tailMap(objArray[102].toString(), false).size()); 13409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.headMap(objArray[103].toString(), false).containsKey( 13410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.headMap(objArray[103].toString(), true).containsKey( 13413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IAE"); 13415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 13416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.headMap(objArray[102].toString(), false).containsKey( 13418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.headMap(objArray[102].toString(), true).containsKey( 13420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.tailMap(objArray[102].toString(), true).containsKey( 13422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.tailMap(objArray[102].toString(), true).containsKey( 13424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[103].toString())); 13425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, map.tailMap(objArray[101].toString()).size()); 13427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IAE"); 13428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 13429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.descendingMap(); 13431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.subMap(objArray[103].toString(), true, objArray[102] 13433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), true); 13434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IAE"); 13435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 13436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.subMap(objArray[102].toString(), true, objArray[102] 13438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString(), true); 13439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, map.headMap(objArray[102].toString(), true).size()); 13440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, map.headMap(objArray[102].toString(), false).size()); 13441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, map.headMap(objArray[103].toString(), true).size()); 13443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IAE"); 13444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 13445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, map.tailMap(objArray[102].toString(), true).size()); 13448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.headMap(objArray[103].toString(), true) 13450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .containsKey(objArray[102].toString())); 13451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IAE"); 13452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 13453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.headMap(objArray[102].toString(), true).containsKey( 13455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.headMap(objArray[102].toString(), false).containsKey( 13457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(map.tailMap(objArray[102].toString(), true).containsKey( 13459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[102].toString())); 13460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(map.tailMap(objArray[102].toString(), true).containsKey( 13461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[103].toString())); 13462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, map.tailMap(objArray[101].toString()).size()); 13464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IAE"); 13465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalArgumentException e) { 13466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_lower() throws Exception { 13470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath NavigableMap map = tm.subMap(objArray[102].toString(), true, 13471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath objArray[103].toString(), false); 13472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.higherKey(objArray[101] 13473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.higherKey(objArray[102].toString())); 13475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.higherKey(objArray[103].toString())); 13476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.higherKey(objArray[104].toString())); 13477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.ceilingKey(objArray[101] 13478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.ceilingKey(objArray[102] 13480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.ceilingKey(objArray[103].toString())); 13482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.ceilingKey(objArray[104].toString())); 13483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.lowerKey(objArray[101].toString())); 13484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.lowerKey(objArray[102].toString())); 13485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.lowerKey(objArray[103] 13486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.lowerKey(objArray[104] 13488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.floorKey(objArray[101].toString())); 13490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.floorKey(objArray[102] 13491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.floorKey(objArray[103] 13493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.floorKey(objArray[104] 13495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath map = map.descendingMap(); 13497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.higherKey(objArray[101].toString())); 13498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.higherKey(objArray[102].toString())); 13499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.higherKey(objArray[103] 13500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.higherKey(objArray[104] 13502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.ceilingKey(objArray[101].toString())); 13504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.ceilingKey(objArray[102] 13505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.ceilingKey(objArray[103] 13507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.ceilingKey(objArray[104] 13509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.lowerKey(objArray[101] 13511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.lowerKey(objArray[102].toString())); 13513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.lowerKey(objArray[103].toString())); 13514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.lowerKey(objArray[104].toString())); 13515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.floorKey(objArray[101] 13516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(objArray[102].toString(), map.floorKey(objArray[102] 13518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath .toString())); 13519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.floorKey(objArray[103].toString())); 13520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, map.floorKey(objArray[104].toString())); 13521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_lowerkey() throws Exception { 13524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm.subMap(objArray[100].toString(), true, objArray[100].toString(), 13526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false).descendingMap().firstKey(); 13527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 13528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (Exception e) { 13529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 13530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm.subMap(objArray[100].toString(), true, objArray[100].toString(), 13533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false).descendingMap().lastKey(); 13534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 13535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (Exception e) { 13536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 13537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm.subMap(objArray[100].toString(), true, objArray[100].toString(), 13540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false).firstKey(); 13541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 13542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (Exception e) { 13543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 13544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 13546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tm.subMap(objArray[100].toString(), true, objArray[100].toString(), 13547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath false).lastKey(); 13548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 13549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (Exception e) { 13550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 13551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_headMap() throws Exception { 13556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap tree = new TreeMap(); 13557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tree.put(new Integer(0), null); 13558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tree.put(new Integer(1), null); 13559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Map submap = tree.subMap(tree.firstKey(), tree.lastKey()); 13560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath tree.remove(tree.lastKey()); 13561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(submap, tree); 13562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void testname() throws Exception { 13565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath TreeMap nullTree = new TreeMap(new Comparator() { 13566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public int compare(Object o1, Object o2) { 13567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath if (o1 == null) { 13568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath return o2 == null ? 0 : -1; 13569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath return ((String) o1).compareTo((String) o2); 13571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath }); 13573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath nullTree.put(new String("One"), 1); 13574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath nullTree.put(new String("Two"), 2); 13575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath nullTree.put(new String("Three"), 3); 13576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath nullTree.put(new String("Four"), 4); 13577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath nullTree.put(null, 0); 13578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath nullTree.subMap(null, "two").size(); 13579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 13580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 13581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath} 13582