Skip to content

Commit 6890f3e

Browse files
committed
chore: add tests
1 parent 16d52c7 commit 6890f3e

File tree

12 files changed

+197
-21
lines changed

12 files changed

+197
-21
lines changed

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/EmptyValueRangeTest.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ai.timefold.solver.core.impl.domain.valuerange.buildin;
22

33
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.assertj.core.api.Assertions.assertThatCode;
45
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
56

67
import java.util.Random;
@@ -11,13 +12,13 @@ class EmptyValueRangeTest {
1112

1213
@Test
1314
void getSize() {
14-
assertThat(EmptyValueRange.instance().getSize()).isEqualTo(0L);
15+
assertThat(EmptyValueRange.instance().getSize()).isZero();
1516
}
1617

1718
@Test
1819
void get() {
19-
assertThatExceptionOfType(UnsupportedOperationException.class)
20-
.isThrownBy(() -> EmptyValueRange.instance().get(0L));
20+
var range = EmptyValueRange.instance();
21+
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> range.get(0L));
2122
}
2223

2324
@Test
@@ -41,4 +42,10 @@ void createRandomIterator() {
4142
.isEmpty();
4243
}
4344

45+
@Test
46+
void sort() {
47+
var range = EmptyValueRange.instance();
48+
assertThatCode(() -> range.sort(null)).doesNotThrowAnyException();
49+
}
50+
4451
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/bigdecimal/BigDecimalValueRangeTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static ai.timefold.solver.core.testutil.PlannerAssert.assertAllElementsOfIterator;
44
import static ai.timefold.solver.core.testutil.PlannerAssert.assertElementsOfIterator;
55
import static org.assertj.core.api.Assertions.assertThat;
6+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
67

78
import java.math.BigDecimal;
89

@@ -17,7 +18,7 @@ void getSize() {
1718
assertThat(new BigDecimalValueRange(new BigDecimal("0"), new BigDecimal("10")).getSize()).isEqualTo(10L);
1819
assertThat(new BigDecimalValueRange(new BigDecimal("100.0"), new BigDecimal("120.0")).getSize()).isEqualTo(200L);
1920
assertThat(new BigDecimalValueRange(new BigDecimal("-15.00"), new BigDecimal("25.07")).getSize()).isEqualTo(4007L);
20-
assertThat(new BigDecimalValueRange(new BigDecimal("7.0"), new BigDecimal("7.0")).getSize()).isEqualTo(0L);
21+
assertThat(new BigDecimalValueRange(new BigDecimal("7.0"), new BigDecimal("7.0")).getSize()).isZero();
2122
// IncrementUnit
2223
assertThat(new BigDecimalValueRange(new BigDecimal("0.0"), new BigDecimal("10.0"), new BigDecimal("2.0")).getSize())
2324
.isEqualTo(5L);
@@ -123,4 +124,10 @@ void createRandomIterator() {
123124
new BigDecimal("115.3"), new BigDecimal("100.0"));
124125
}
125126

127+
@Test
128+
void sort() {
129+
var range = new BigDecimalValueRange(new BigDecimal("0"), new BigDecimal("4"));
130+
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> range.sort(null));
131+
}
132+
126133
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/biginteger/BigIntegerValueRangeTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static ai.timefold.solver.core.testutil.PlannerAssert.assertAllElementsOfIterator;
44
import static ai.timefold.solver.core.testutil.PlannerAssert.assertElementsOfIterator;
55
import static org.assertj.core.api.Assertions.assertThat;
6+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
67

78
import java.math.BigInteger;
89

@@ -17,7 +18,7 @@ void getSize() {
1718
assertThat(new BigIntegerValueRange(new BigInteger("0"), new BigInteger("10")).getSize()).isEqualTo(10L);
1819
assertThat(new BigIntegerValueRange(new BigInteger("100"), new BigInteger("120")).getSize()).isEqualTo(20L);
1920
assertThat(new BigIntegerValueRange(new BigInteger("-15"), new BigInteger("25")).getSize()).isEqualTo(40L);
20-
assertThat(new BigIntegerValueRange(new BigInteger("7"), new BigInteger("7")).getSize()).isEqualTo(0L);
21+
assertThat(new BigIntegerValueRange(new BigInteger("7"), new BigInteger("7")).getSize()).isZero();
2122
// IncrementUnit
2223
assertThat(new BigIntegerValueRange(new BigInteger("0"), new BigInteger("10"), new BigInteger("2")).getSize())
2324
.isEqualTo(5L);
@@ -117,4 +118,10 @@ void createRandomIterator() {
117118
.createRandomIterator(new TestRandom(3, 0)), new BigInteger("115"), new BigInteger("100"));
118119
}
119120

121+
@Test
122+
void sort() {
123+
var range = new BigIntegerValueRange(new BigInteger("0"), new BigInteger("7"));
124+
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> range.sort(null));
125+
}
126+
120127
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/collection/ListValueRangeTest.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@
66

77
import java.util.Arrays;
88
import java.util.Collections;
9+
import java.util.Comparator;
910
import java.util.Random;
1011

12+
import ai.timefold.solver.core.api.domain.valuerange.CountableValueRange;
13+
import ai.timefold.solver.core.config.heuristic.selector.common.decorator.SelectionSorterOrder;
14+
import ai.timefold.solver.core.impl.domain.valuerange.sort.SelectionSorterAdapter;
15+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorFactorySelectionSorter;
16+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorSelectionSorter;
1117
import ai.timefold.solver.core.testutil.TestRandom;
1218

1319
import org.junit.jupiter.api.Test;
@@ -20,7 +26,7 @@ void getSize() {
2026
assertThat(new ListValueRange<>(Arrays.asList(100, 120, 5, 7, 8)).getSize()).isEqualTo(5L);
2127
assertThat(new ListValueRange<>(Arrays.asList(-15, 25, 0)).getSize()).isEqualTo(3L);
2228
assertThat(new ListValueRange<>(Arrays.asList("b", "z", "a")).getSize()).isEqualTo(3L);
23-
assertThat(new ListValueRange<>(Collections.emptyList()).getSize()).isEqualTo(0L);
29+
assertThat(new ListValueRange<>(Collections.emptyList()).getSize()).isZero();
2430
}
2531

2632
@Test
@@ -68,4 +74,25 @@ void createRandomIterator() {
6874
assertAllElementsOfIterator(new ListValueRange<>(Collections.emptyList()).createRandomIterator(new Random(0)));
6975
}
7076

77+
@Test
78+
void sort() {
79+
var ascComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
80+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.ASCENDING));
81+
Comparator<Integer> integerComparator = Integer::compareTo;
82+
var ascComparatorFactorySorter = new SelectionSorterAdapter<>(null,
83+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.ASCENDING));
84+
var descComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
85+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.DESCENDING));
86+
var descComparatorFactorySorter = new SelectionSorterAdapter<>(null,
87+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.DESCENDING));
88+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1))
89+
.sort(ascComparatorSorter)).createOriginalIterator(), -15, -1, 0, 1, 25);
90+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1))
91+
.sort(ascComparatorFactorySorter)).createOriginalIterator(), -15, -1, 0, 1, 25);
92+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1))
93+
.sort(descComparatorSorter)).createOriginalIterator(), 25, 1, 0, -1, -15);
94+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1))
95+
.sort(descComparatorFactorySorter)).createOriginalIterator(), 25, 1, 0, -1, -15);
96+
}
97+
7198
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/collection/SetValueRangeTest.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,16 @@
66

77
import java.util.Arrays;
88
import java.util.Collections;
9+
import java.util.Comparator;
910
import java.util.LinkedHashSet;
1011
import java.util.Random;
1112
import java.util.stream.Collectors;
1213

14+
import ai.timefold.solver.core.api.domain.valuerange.CountableValueRange;
15+
import ai.timefold.solver.core.config.heuristic.selector.common.decorator.SelectionSorterOrder;
16+
import ai.timefold.solver.core.impl.domain.valuerange.sort.SelectionSorterAdapter;
17+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorFactorySelectionSorter;
18+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorSelectionSorter;
1319
import ai.timefold.solver.core.testutil.TestRandom;
1420

1521
import org.junit.jupiter.api.Test;
@@ -22,7 +28,7 @@ void getSize() {
2228
assertThat(createRange(100, 120, 5, 7, 8).getSize()).isEqualTo(5L);
2329
assertThat(createRange(-15, 25, 0).getSize()).isEqualTo(3L);
2430
assertThat(createRange("b", "z", "a").getSize()).isEqualTo(3L);
25-
assertThat(new SetValueRange<>(Collections.emptySet()).getSize()).isEqualTo(0L);
31+
assertThat(new SetValueRange<>(Collections.emptySet()).getSize()).isZero();
2632
}
2733

2834
@Test
@@ -69,6 +75,27 @@ void createRandomIterator() {
6975
assertAllElementsOfIterator(new SetValueRange<>(Collections.emptySet()).createRandomIterator(new Random(0)));
7076
}
7177

78+
@Test
79+
void sort() {
80+
var ascComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
81+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.ASCENDING));
82+
Comparator<Integer> integerComparator = Integer::compareTo;
83+
var ascComparatorFactorySorter = new SelectionSorterAdapter<>(null,
84+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.ASCENDING));
85+
var descComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
86+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.DESCENDING));
87+
var descComparatorFactorySorter = new SelectionSorterAdapter<>(null,
88+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.DESCENDING));
89+
assertAllElementsOfIterator(((CountableValueRange<Integer>) createRange(-15, 25, 0, 1, -1)
90+
.sort(ascComparatorSorter)).createOriginalIterator(), -15, -1, 0, 1, 25);
91+
assertAllElementsOfIterator(((CountableValueRange<Integer>) createRange(-15, 25, 0, 1, -1)
92+
.sort(ascComparatorFactorySorter)).createOriginalIterator(), -15, -1, 0, 1, 25);
93+
assertAllElementsOfIterator(((CountableValueRange<Integer>) createRange(-15, 25, 0, 1, -1)
94+
.sort(descComparatorSorter)).createOriginalIterator(), 25, 1, 0, -1, -15);
95+
assertAllElementsOfIterator(((CountableValueRange<Integer>) createRange(-15, 25, 0, 1, -1)
96+
.sort(descComparatorFactorySorter)).createOriginalIterator(), 25, 1, 0, -1, -15);
97+
}
98+
7299
private static <T> SetValueRange<T> createRange(T... values) {
73100
var set = Arrays.stream(values)
74101
.collect(Collectors.toCollection(LinkedHashSet::new));

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/composite/CompositeCountableValueRangeTest.java

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,15 @@
77
import java.util.ArrayList;
88
import java.util.Arrays;
99
import java.util.Collections;
10+
import java.util.Comparator;
1011
import java.util.List;
1112

13+
import ai.timefold.solver.core.api.domain.valuerange.CountableValueRange;
14+
import ai.timefold.solver.core.config.heuristic.selector.common.decorator.SelectionSorterOrder;
1215
import ai.timefold.solver.core.impl.domain.valuerange.buildin.collection.ListValueRange;
16+
import ai.timefold.solver.core.impl.domain.valuerange.sort.SelectionSorterAdapter;
17+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorFactorySelectionSorter;
18+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorSelectionSorter;
1319
import ai.timefold.solver.core.testutil.TestRandom;
1420

1521
import org.junit.jupiter.api.Test;
@@ -29,7 +35,7 @@ private static <T> CompositeCountableValueRange<T> createValueRange(List<T>... l
2935
void getSize() {
3036
assertThat(createValueRange(Arrays.asList(0, 2, 5, 10), Arrays.asList(-15, 25, -1)).getSize()).isEqualTo(7L);
3137
assertThat(createValueRange(Arrays.asList("a", "b"), Arrays.asList("c"), Arrays.asList("d")).getSize()).isEqualTo(4L);
32-
assertThat(createValueRange(Collections.emptyList()).getSize()).isEqualTo(0L);
38+
assertThat(createValueRange(Collections.emptyList()).getSize()).isZero();
3339
}
3440

3541
@Test
@@ -72,4 +78,33 @@ void createRandomIterator() {
7278
.createRandomIterator(new TestRandom(0)));
7379
}
7480

81+
@Test
82+
void sort() {
83+
var ascComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
84+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.ASCENDING));
85+
Comparator<Integer> integerComparator = Integer::compareTo;
86+
var ascComparatorFactorySorter = new SelectionSorterAdapter<>(null,
87+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.ASCENDING));
88+
var descComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
89+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.DESCENDING));
90+
var descComparatorFactorySorter = new SelectionSorterAdapter<>(null,
91+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.DESCENDING));
92+
assertAllElementsOfIterator(
93+
((CountableValueRange<Integer>) createValueRange(Arrays.asList(0, 2, 5, 10), Arrays.asList(-15, 25, -1))
94+
.sort(ascComparatorSorter)).createOriginalIterator(),
95+
-15, -1, 0, 2, 5, 10, 25);
96+
assertAllElementsOfIterator(
97+
((CountableValueRange<Integer>) createValueRange(Arrays.asList(0, 2, 5, 10), Arrays.asList(-15, 25, -1))
98+
.sort(ascComparatorFactorySorter)).createOriginalIterator(),
99+
-15, -1, 0, 2, 5, 10, 25);
100+
assertAllElementsOfIterator(
101+
((CountableValueRange<Integer>) createValueRange(Arrays.asList(0, 2, 5, 10), Arrays.asList(-15, 25, -1))
102+
.sort(descComparatorSorter)).createOriginalIterator(),
103+
25, 10, 5, 2, 0, -1, -15);
104+
assertAllElementsOfIterator(
105+
((CountableValueRange<Integer>) createValueRange(Arrays.asList(0, 2, 5, 10), Arrays.asList(-15, 25, -1))
106+
.sort(descComparatorFactorySorter)).createOriginalIterator(),
107+
25, 10, 5, 2, 0, -1, -15);
108+
}
109+
75110
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/composite/NullAllowingCountableValueRangeTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@
66

77
import java.util.Arrays;
88
import java.util.Collections;
9+
import java.util.Comparator;
910

11+
import ai.timefold.solver.core.api.domain.valuerange.CountableValueRange;
12+
import ai.timefold.solver.core.config.heuristic.selector.common.decorator.SelectionSorterOrder;
1013
import ai.timefold.solver.core.impl.domain.valuerange.buildin.collection.ListValueRange;
14+
import ai.timefold.solver.core.impl.domain.valuerange.sort.SelectionSorterAdapter;
15+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorFactorySelectionSorter;
16+
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.ComparatorSelectionSorter;
1117
import ai.timefold.solver.core.testutil.TestRandom;
1218

1319
import org.junit.jupiter.api.Test;
@@ -87,4 +93,29 @@ void createRandomIterator() {
8793
.createRandomIterator(new TestRandom(0)), new String[] { null });
8894
}
8995

96+
@Test
97+
void sort() {
98+
var ascComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
99+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.ASCENDING));
100+
Comparator<Integer> integerComparator = Integer::compareTo;
101+
var ascComparatorFactorySorter = new SelectionSorterAdapter<>(null,
102+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.ASCENDING));
103+
var descComparatorSorter = new SelectionSorterAdapter<>(null, new ComparatorSelectionSorter<>(
104+
Comparator.comparingInt(Integer::intValue), SelectionSorterOrder.DESCENDING));
105+
var descComparatorFactorySorter = new SelectionSorterAdapter<>(null,
106+
new ComparatorFactorySelectionSorter<>(solution -> integerComparator, SelectionSorterOrder.DESCENDING));
107+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new NullAllowingCountableValueRange<>(
108+
(new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1)))).sort(ascComparatorSorter)).createOriginalIterator(),
109+
-15, -1, 0, 1, 25);
110+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new NullAllowingCountableValueRange<>(
111+
(new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1)))).sort(ascComparatorFactorySorter))
112+
.createOriginalIterator(), -15, -1, 0, 1, 25);
113+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new NullAllowingCountableValueRange<>(
114+
(new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1)))).sort(descComparatorSorter)).createOriginalIterator(),
115+
25, 1, 0, -1, -15);
116+
assertAllElementsOfIterator(((CountableValueRange<Integer>) new NullAllowingCountableValueRange<>(
117+
(new ListValueRange<>(Arrays.asList(-15, 25, 0, 1, -1)))).sort(descComparatorFactorySorter))
118+
.createOriginalIterator(), 25, 1, 0, -1, -15);
119+
}
120+
90121
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/primboolean/BooleanValueRangeTest.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,19 @@ void createRandomIterator() {
4545

4646
@Test
4747
void getIndexNegative() {
48-
assertThatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> new BooleanValueRange().get(-1));
48+
var range = new BooleanValueRange();
49+
assertThatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> range.get(-1));
4950
}
5051

5152
@Test
5253
void getIndexGreaterThanSize() {
53-
assertThatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> new BooleanValueRange().get(2));
54+
var range = new BooleanValueRange();
55+
assertThatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> range.get(2));
5456
}
5557

58+
@Test
59+
void sort() {
60+
var range = new BooleanValueRange();
61+
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> range.sort(null));
62+
}
5663
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/primdouble/DoubleValueRangeTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static ai.timefold.solver.core.testutil.PlannerAssert.assertAllElementsOfIterator;
44
import static ai.timefold.solver.core.testutil.PlannerAssert.assertElementsOfIterator;
55
import static org.assertj.core.api.Assertions.assertThat;
6+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
67

78
import ai.timefold.solver.core.testutil.TestRandom;
89

@@ -35,4 +36,10 @@ void createRandomIterator() {
3536
Math.nextAfter(2000000.0, Double.NEGATIVE_INFINITY))));
3637
}
3738

39+
@Test
40+
void sort() {
41+
var range = new DoubleValueRange(0.0, 10.0);
42+
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> range.sort(null));
43+
}
44+
3845
}

core/src/test/java/ai/timefold/solver/core/impl/domain/valuerange/buildin/primint/IntValueRangeTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static ai.timefold.solver.core.testutil.PlannerAssert.assertAllElementsOfIterator;
44
import static ai.timefold.solver.core.testutil.PlannerAssert.assertElementsOfIterator;
55
import static org.assertj.core.api.Assertions.assertThat;
6+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
67

78
import ai.timefold.solver.core.testutil.TestRandom;
89

@@ -15,7 +16,7 @@ void getSize() {
1516
assertThat(new IntValueRange(0, 10).getSize()).isEqualTo(10L);
1617
assertThat(new IntValueRange(100, 120).getSize()).isEqualTo(20L);
1718
assertThat(new IntValueRange(-15, 25).getSize()).isEqualTo(40L);
18-
assertThat(new IntValueRange(7, 7).getSize()).isEqualTo(0L);
19+
assertThat(new IntValueRange(7, 7).getSize()).isZero();
1920
assertThat(new IntValueRange(-1000, Integer.MAX_VALUE - 100).getSize()).isEqualTo(Integer.MAX_VALUE + 900L);
2021
// IncrementUnit
2122
assertThat(new IntValueRange(0, 10, 2).getSize()).isEqualTo(5L);
@@ -78,4 +79,10 @@ void createRandomIterator() {
7879
assertElementsOfIterator(new IntValueRange(100, 120, 5).createRandomIterator(new TestRandom(3, 0)), 115, 100);
7980
}
8081

82+
@Test
83+
void sort() {
84+
var range = new IntValueRange(0, 7);
85+
assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> range.sort(null));
86+
}
87+
8188
}

0 commit comments

Comments
 (0)