1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.lang.math;
20
21 import junit.framework.Test;
22 import junit.framework.TestSuite;
23
24
25
26
27
28
29
30 public final class DoubleRangeTest extends AbstractRangeTest {
31
32 public DoubleRangeTest(String name) {
33 super(name);
34 }
35
36 public static Test suite() {
37 TestSuite suite = new TestSuite(DoubleRangeTest.class);
38 suite.setName("DoubleRange Tests");
39 return suite;
40 }
41
42 public void setUp() {
43 super.setUp();
44 tenToTwenty = new DoubleRange(double10, double20);
45 otherRange = new NumberRange(ten, twenty);
46 }
47
48 protected Range createRange(Integer integer1, Integer integer2) {
49 return new DoubleRange(integer1, integer2);
50 }
51 protected Range createRange(Integer integer) {
52 return new NumberRange(integer);
53 }
54
55
56
57 public void testConstructor1a() {
58 DoubleRange nr = new DoubleRange(8d);
59 assertEquals(double8, nr.getMinimumNumber());
60 assertEquals(double8, nr.getMaximumNumber());
61
62 try {
63 new DoubleRange(Double.NaN);
64 fail();
65 } catch (IllegalArgumentException ex) {}
66 }
67
68 public void testConstructor1b() {
69 DoubleRange nr = new DoubleRange(double8);
70 assertSame(double8, nr.getMinimumNumber());
71 assertSame(double8, nr.getMaximumNumber());
72
73 Range r = new DoubleRange(nonComparableNumber);
74
75 try {
76 new DoubleRange(null);
77 fail();
78 } catch (IllegalArgumentException ex) {}
79 try {
80 new DoubleRange(new Double(Double.NaN));
81 fail();
82 } catch (IllegalArgumentException ex) {}
83 }
84
85 public void testConstructor2a() {
86 DoubleRange nr = new DoubleRange(8d, 10d);
87 assertEquals(double8, nr.getMinimumNumber());
88 assertEquals(double10, nr.getMaximumNumber());
89
90 nr = new DoubleRange(10d, 8d);
91 assertEquals(double8, nr.getMinimumNumber());
92 assertEquals(double10, nr.getMaximumNumber());
93
94 try {
95 new DoubleRange(Double.NaN, 8d);
96 fail();
97 } catch (IllegalArgumentException ex) {}
98 }
99
100 public void testConstructor2b() {
101 DoubleRange nr = new DoubleRange(double8, double10);
102 assertSame(double8, nr.getMinimumNumber());
103 assertSame(double10, nr.getMaximumNumber());
104
105 nr = new DoubleRange(double10, double8);
106 assertSame(double8, nr.getMinimumNumber());
107 assertSame(double10, nr.getMaximumNumber());
108
109 nr = new DoubleRange(double8, double10);
110 assertSame(double8, nr.getMinimumNumber());
111 assertEquals(double10, nr.getMaximumNumber());
112
113
114 try {
115 new DoubleRange(double8, null);
116 fail();
117 } catch (IllegalArgumentException ex) {}
118 try {
119 new DoubleRange(null, double8);
120 fail();
121 } catch (IllegalArgumentException ex) {}
122 try {
123 new DoubleRange(null, null);
124 fail();
125 } catch (IllegalArgumentException ex) {}
126
127 try {
128 new DoubleRange(new Double(Double.NaN), double10);
129 fail();
130 } catch (IllegalArgumentException ex) {}
131 }
132
133
134
135 public void testContainsNumber() {
136 assertEquals(false, tenToTwenty.containsNumber(null));
137 assertEquals(true, tenToTwenty.containsNumber(nonComparableNumber));
138
139 assertEquals(false, tenToTwenty.containsNumber(five));
140 assertEquals(true, tenToTwenty.containsNumber(ten));
141 assertEquals(true, tenToTwenty.containsNumber(fifteen));
142 assertEquals(true, tenToTwenty.containsNumber(twenty));
143 assertEquals(false, tenToTwenty.containsNumber(twentyFive));
144
145 assertEquals(false, tenToTwenty.containsNumber(long8));
146 assertEquals(true, tenToTwenty.containsNumber(long10));
147 assertEquals(true, tenToTwenty.containsNumber(long12));
148 assertEquals(true, tenToTwenty.containsNumber(long20));
149 assertEquals(false, tenToTwenty.containsNumber(long21));
150
151 assertEquals(false, tenToTwenty.containsNumber(double8));
152 assertEquals(true, tenToTwenty.containsNumber(double10));
153 assertEquals(true, tenToTwenty.containsNumber(double12));
154 assertEquals(true, tenToTwenty.containsNumber(double20));
155 assertEquals(false, tenToTwenty.containsNumber(double21));
156
157 assertEquals(false, tenToTwenty.containsNumber(float8));
158 assertEquals(true, tenToTwenty.containsNumber(float10));
159 assertEquals(true, tenToTwenty.containsNumber(float12));
160 assertEquals(true, tenToTwenty.containsNumber(float20));
161 assertEquals(false, tenToTwenty.containsNumber(float21));
162 }
163
164 public void testToString() {
165 String str = tenToTwenty.toString();
166 assertEquals("Range[10.0,20.0]", str);
167 assertSame(str, tenToTwenty.toString());
168 assertEquals("Range[-20.0,-10.0]", createRange(new Integer(-20), new Integer(-10)).toString());
169 }
170
171
172
173 }