1 46 package groovy.lang; 47 48 import java.util.List ; 49 50 import junit.framework.TestCase; 51 52 56 public class RangeTest extends TestCase { 57 58 public void testSize() { 59 Range 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 Range r = createRange(0, 10); 69 assertEquals("from", 0, r.getFrom()); 70 assertEquals("to", 10, r.getTo()); 71 } 72 73 public void testGet() { 74 Range 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 Range 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 Range 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 assertFalse("contains 9", r.contains(new Integer (9))); 108 assertFalse("contains 21", r.contains(new Integer (21))); 109 assertFalse("contains 100", r.contains(new Integer (100))); 110 assertFalse("contains -1", r.contains(new Integer (-1))); 111 } 112 113 public void testSubList() { 114 Range r = createRange(10, 20); 115 116 List s = r.subList(2, 4); 117 118 Range sr = (Range) s; 119 120 assertEquals("from", 12, sr.getFrom()); 121 assertEquals("to", 13, sr.getTo()); 122 assertEquals("size", 2, sr.size()); 123 } 124 125 public void testHashCodeAndEquals() { 126 Range a = createRange(1, 11); 127 Range b = createRange(1, 11); 128 Range c = createRange(2, 11); 129 130 assertEquals("hashcode", a.hashCode(), b.hashCode()); 131 assertTrue("hashcode", a.hashCode() != c.hashCode()); 132 133 assertEquals("a and b", a, b); 134 assertFalse("a != c", a.equals(c)); 135 } 136 137 public void testIterator() { 138 } 139 140 protected Range createRange(int from, int to) { 141 return new ObjectRange(new Integer (from), new Integer (to)); 142 } 143 144 protected void assertEquals(String msg, int expected, Object value) { 145 assertEquals(msg, new Integer (expected), value); 146 } 147 148 149 } 150 | Popular Tags |