Skip to content

Commit 5570d46

Browse files
committed
add tests
1 parent 9fdbf6c commit 5570d46

File tree

3 files changed

+57
-0
lines changed

3 files changed

+57
-0
lines changed

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/math/TestFragmentedRangeBigInteger.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ public void test() {
2020
Assert.assertEquals(BigInteger.ZERO, f.getMin());
2121
Assert.assertEquals(BigInteger.ZERO, f.getMax());
2222
Assert.assertNull(f.removeFirstValue());
23+
Assert.assertEquals(0, FragmentedRangeBigInteger.intersect(new FragmentedRangeBigInteger(), new FragmentedRangeBigInteger()).size());
2324
// 12
2425
f.addValue(BigInteger.valueOf(12));
2526
Assert.assertEquals(1, f.size());
27+
Assert.assertEquals(0, FragmentedRangeBigInteger.intersect(f, new FragmentedRangeBigInteger()).size());
28+
Assert.assertEquals(0, FragmentedRangeBigInteger.intersect(new FragmentedRangeBigInteger(), f).size());
2629
// 10-15
2730
f.addRange(new RangeBigInteger(BigInteger.valueOf(10), BigInteger.valueOf(15)));
2831
Assert.assertEquals(1, f.size());
@@ -165,6 +168,28 @@ public void test() {
165168
new RangeBigInteger(BigInteger.valueOf(130), BigInteger.valueOf(140)),
166169
new RangeBigInteger(BigInteger.valueOf(500), BigInteger.valueOf(500)));
167170
f.toString();
171+
// so far = 14-31, 100-120, 130-140, 500-500
172+
// 14-31, 100-117, 130-140, 500-500
173+
f.removeRange(BigInteger.valueOf(118), BigInteger.valueOf(125));
174+
check(f, new RangeBigInteger(BigInteger.valueOf(14), BigInteger.valueOf(31)),
175+
new RangeBigInteger(BigInteger.valueOf(100), BigInteger.valueOf(117)),
176+
new RangeBigInteger(BigInteger.valueOf(130), BigInteger.valueOf(140)),
177+
new RangeBigInteger(BigInteger.valueOf(500), BigInteger.valueOf(500)));
178+
// 14-31, 104-117, 130-140, 500-500
179+
f.removeRange(BigInteger.valueOf(80), BigInteger.valueOf(103));
180+
check(f, new RangeBigInteger(BigInteger.valueOf(14), BigInteger.valueOf(31)),
181+
new RangeBigInteger(BigInteger.valueOf(104), BigInteger.valueOf(117)),
182+
new RangeBigInteger(BigInteger.valueOf(130), BigInteger.valueOf(140)),
183+
new RangeBigInteger(BigInteger.valueOf(500), BigInteger.valueOf(500)));
184+
// 14-31, 130-140, 500-500
185+
f.removeRange(BigInteger.valueOf(80), BigInteger.valueOf(117));
186+
check(f, new RangeBigInteger(BigInteger.valueOf(14), BigInteger.valueOf(31)),
187+
new RangeBigInteger(BigInteger.valueOf(130), BigInteger.valueOf(140)),
188+
new RangeBigInteger(BigInteger.valueOf(500), BigInteger.valueOf(500)));
189+
// 14-31, 500-500
190+
f.removeRange(BigInteger.valueOf(125), BigInteger.valueOf(145));
191+
check(f, new RangeBigInteger(BigInteger.valueOf(14), BigInteger.valueOf(31)),
192+
new RangeBigInteger(BigInteger.valueOf(500), BigInteger.valueOf(500)));
168193
}
169194

170195
private static void check(List<RangeBigInteger> list, RangeBigInteger... expected) {

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/math/TestFragmentedRangeInteger.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@ public void test() {
1919
Assert.assertEquals(Integer.MAX_VALUE, f.getMin());
2020
Assert.assertEquals(Integer.MIN_VALUE, f.getMax());
2121
Assert.assertNull(f.removeFirstValue());
22+
Assert.assertEquals(0, FragmentedRangeInteger.intersect(new FragmentedRangeInteger(), new FragmentedRangeInteger()).size());
2223
// 12
2324
f.addValue(12);
2425
Assert.assertEquals(1, f.size());
26+
Assert.assertEquals(0, FragmentedRangeInteger.intersect(f, new FragmentedRangeInteger()).size());
27+
Assert.assertEquals(0, FragmentedRangeInteger.intersect(new FragmentedRangeInteger(), f).size());
2528
// 10-15
2629
f.addRange(new RangeInteger(10, 15));
2730
Assert.assertEquals(1, f.size());
@@ -131,6 +134,19 @@ public void test() {
131134
f.addCopy(Arrays.asList(new RangeInteger(100, 120), new RangeInteger(130, 140)));
132135
check(f, new RangeInteger(14, 31), new RangeInteger(100, 120), new RangeInteger(130, 140), new RangeInteger(500, 500));
133136
f.toString();
137+
// so far = 14-31, 100-120, 130-140, 500-500
138+
// 14-31, 100-117, 130-140, 500-500
139+
f.remove(118, 125);
140+
check(f, new RangeInteger(14, 31), new RangeInteger(100, 117), new RangeInteger(130, 140), new RangeInteger(500, 500));
141+
// 14-31, 104-117, 130-140, 500-500
142+
f.remove(80, 103);
143+
check(f, new RangeInteger(14, 31), new RangeInteger(104, 117), new RangeInteger(130, 140), new RangeInteger(500, 500));
144+
// 14-31, 130-140, 500-500
145+
f.remove(80, 117);
146+
check(f, new RangeInteger(14, 31), new RangeInteger(130, 140), new RangeInteger(500, 500));
147+
// 14-31, 500-500
148+
f.remove(125, 145);
149+
check(f, new RangeInteger(14, 31), new RangeInteger(500, 500));
134150
}
135151

136152
private static void check(List<RangeInteger> list, RangeInteger... expected) {

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/math/TestFragmentedRangeLong.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@ public void test() {
1919
Assert.assertEquals(Long.MAX_VALUE, f.getMin());
2020
Assert.assertEquals(Long.MIN_VALUE, f.getMax());
2121
Assert.assertNull(f.removeFirstValue());
22+
Assert.assertEquals(0, FragmentedRangeLong.intersect(new FragmentedRangeLong(), new FragmentedRangeLong()).size());
2223
// 12
2324
f.addValue(12);
2425
Assert.assertEquals(1, f.size());
26+
Assert.assertEquals(0, FragmentedRangeLong.intersect(f, new FragmentedRangeLong()).size());
27+
Assert.assertEquals(0, FragmentedRangeLong.intersect(new FragmentedRangeLong(), f).size());
2528
// 10-15
2629
f.addRange(new RangeLong(10, 15));
2730
Assert.assertEquals(1, f.size());
@@ -133,6 +136,19 @@ public void test() {
133136
f.addCopy(Arrays.asList(new RangeLong(100, 120), new RangeLong(130, 140)));
134137
check(f, new RangeLong(14, 31), new RangeLong(100, 120), new RangeLong(130, 140), new RangeLong(500, 500));
135138
f.toString();
139+
// so far = 14-31, 100-120, 130-140, 500-500
140+
// 14-31, 100-117, 130-140, 500-500
141+
f.removeRange(118, 125);
142+
check(f, new RangeLong(14, 31), new RangeLong(100, 117), new RangeLong(130, 140), new RangeLong(500, 500));
143+
// 14-31, 104-117, 130-140, 500-500
144+
f.removeRange(80, 103);
145+
check(f, new RangeLong(14, 31), new RangeLong(104, 117), new RangeLong(130, 140), new RangeLong(500, 500));
146+
// 14-31, 130-140, 500-500
147+
f.removeRange(80, 117);
148+
check(f, new RangeLong(14, 31), new RangeLong(130, 140), new RangeLong(500, 500));
149+
// 14-31, 500-500
150+
f.removeRange(125, 145);
151+
check(f, new RangeLong(14, 31), new RangeLong(500, 500));
136152
}
137153

138154
private static void check(List<RangeLong> list, RangeLong... expected) {

0 commit comments

Comments
 (0)