From 29d512725271b51eee18232e0bff8d8dc2868d46 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 17 Nov 2020 20:31:59 -0500 Subject: Add some tests for IMap/FunctionalMap --- src/test/java/bjc/funcdata/TestMapCreation.java | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/test/java/bjc/funcdata/TestMapCreation.java (limited to 'src/test/java/bjc/funcdata/TestMapCreation.java') diff --git a/src/test/java/bjc/funcdata/TestMapCreation.java b/src/test/java/bjc/funcdata/TestMapCreation.java new file mode 100644 index 0000000..26f09fc --- /dev/null +++ b/src/test/java/bjc/funcdata/TestMapCreation.java @@ -0,0 +1,38 @@ +package bjc.funcdata; + +import static org.junit.Assert.*; + +import org.junit.*; + +@SuppressWarnings("javadoc") +public class TestMapCreation { + @Test + public void mapOfNothingCreatesEmptyMap() { + IMap map = IMap.of(); + + assertEquals("Map is empty", 0, map.size()); + } + + @Test(expected = IllegalArgumentException.class) + public void mapOfMismatchedCountErrors() { + @SuppressWarnings("unused") + IMap map = IMap.of("thing1"); + } + + @Test(expected = ClassCastException.class) + public void mapOfMismatchedTypeErrors() { + IMap map = IMap.of(1, 1.0); + + map.forEach((key, val) -> { + // An exception will be thrown here + }); + } + + @Test + public void mapOfCreatesWithGivenContents() { + IMap map = IMap.of("a", "A", "b", "B"); + + assertEquals("Constructed map contains key 'a'", "a", map.containsKey("a")); + assertEquals("Constructed map has key 'a' mapped to value 'A'", "A", map.get("A")); + } +} -- cgit v1.2.3