1 46 package groovy.lang; 47 48 import java.util.List ; 49 50 import junit.framework.TestCase; 51 52 56 public class IntRangeTest extends TestCase { 57 58 public void testSize() { 59 IntRange r = createRange(0, 10); 60 assertEquals("Size of " + r, 11, r.size()); 61 r = createRange(0, 1); 62 assertEquals("Size of " + r, 2, r.size()); 63 r = createRange(0, 0); 64 assertEquals("Size of " + r, 1, r.size()); 65 } 66 67 public void testProperties() { 68 IntRange r = createRange(0, 10); 69 assertEquals("from", 0, r.getFromInt()); 70 assertEquals("to", 10, r.getToInt()); 71 } 72 73 public void testGet() { 74 IntRange r = createRange(10, 20); 75 for (int i = 0; i <= 10; i++) { 76 Integer value = (Integer ) r.get(i); 77 assertEquals("Item at index: " + i, i + 10, value.intValue()); 78 } 79 } 80 81 public void testGetOutOfRange() { 82 IntRange r = createRange(10, 20); 83 84 try { 85 r.get(-1); 86 fail("Should have thrown IndexOut"); 87 } 88 catch (IndexOutOfBoundsException e) { 89 } 91 try { 92 r.get(11); 93 fail("Should have thrown IndexOut"); 94 } 95 catch (IndexOutOfBoundsException e) { 96 } 98 99 } 100 101 public void testContains() { 102 IntRange r = createRange(10, 20); 103 104 assertTrue("contains 11", r.contains(new Integer (11))); 105 assertTrue("contains 10", r.contains(new Integer (10))); 106 assertTrue("contains 19", r.contains(new Integer (19))); 107 assertTrue("contains 20", r.contains(new Integer (20))); 108 assertFalse("contains 9", r.contains(new Integer (9))); 109 assertFalse("contains 21", r.contains(new Integer (21))); 110 assertFalse("contains 100", r.contains(new Integer (100))); 111 assertFalse("contains -1", r.contains(new Integer (-1))); 112 } 113 114 public void testSubList() { 115 IntRange r = createRange(10, 20); 116 117 List s = r.subList(2, 4); 118 119 IntRange sr = (IntRange) s; 120 121 assertEquals("from", 12, sr.getFromInt()); 122 assertEquals("to", 13, sr.getToInt()); 123 assertEquals("size", 2, sr.size()); 124 } 125 126 public void testHashCodeAndEquals() { 127 IntRange a = createRange(1, 11); 128 IntRange b = createRange(1, 11); 129 IntRange c = createRange(2, 11); 130 131 assertEquals("hashcode", a.hashCode(), b.hashCode()); 132 assertTrue("hashcode", a.hashCode() != c.hashCode()); 133 134 assertEquals("a and b", a, b); 135 assertFalse("a != c", a.equals(c)); 136 } 137 138 public void testIterator() { 139 } 140 141 protected IntRange createRange(int from, int to) { 142 return new IntRange(from, to); 143 } 144 145 protected void assertEquals(String msg, int expected, Object value) { 146 assertEquals(msg, new Integer (expected), value); 147 } 148 149 150 } 151 | Popular Tags |