summaryrefslogtreecommitdiff
path: root/src/test/java/bjc
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/bjc')
-rw-r--r--src/test/java/bjc/esodata/MinMaxListTest.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/test/java/bjc/esodata/MinMaxListTest.java b/src/test/java/bjc/esodata/MinMaxListTest.java
new file mode 100644
index 0000000..08901f0
--- /dev/null
+++ b/src/test/java/bjc/esodata/MinMaxListTest.java
@@ -0,0 +1,52 @@
+package bjc.esodata;
+
+import static org.junit.Assert.*;
+
+import java.util.*;
+
+import org.junit.*;
+
+@SuppressWarnings("javadoc")
+public class MinMaxListTest {
+ private final static Comparator<Integer> intComparator = (lhs, rhs) -> lhs - rhs;;
+
+ @Test
+ public void minMaxListInitializesMinMax() {
+ MinMaxList<Integer> list = new MinMaxList<>(intComparator,
+ 1, 2, 3, 4, 5);
+
+ assertEquals("List contains 5 elements", 5, list.size());
+
+ assertEquals("Minimum is 1", 1, (int)list.minimum());
+ assertEquals("Maximum is 5", 5, (int)list.maximum());
+ }
+
+ @Test
+ public void minMaxListAddUpdatesMinMax() {
+ MinMaxList<Integer> list = new MinMaxList<>(intComparator,
+ 2, 3, 4);
+
+ assertEquals("Minimum is 2", 2, (int)list.minimum());
+ assertEquals("Maximum is 4", 4, (int)list.maximum());
+
+ list.add(1);
+ list.add(5);
+
+ assertEquals("Minimum is 1", 1, (int)list.minimum());
+ assertEquals("Maximum is 5", 5, (int)list.maximum());
+ }
+
+ public void minMaxListRemoveUpdatesMinMax() {
+ MinMaxList<Integer> list = new MinMaxList<>(intComparator,
+ 1, 2, 3, 4, 5);
+
+ assertEquals("Minimum is 1", 1, (int)list.minimum());
+ assertEquals("Maximum is 5", 5, (int)list.maximum());
+
+ list.remove((Integer)1);
+ list.remove((Integer)5);
+
+ assertEquals("Minimum is 2", 2, (int)list.minimum());
+ assertEquals("Maximum is 4", 4, (int)list.maximum());
+ }
+}