refactored example code

This commit is contained in:
Seun Matt 2017-06-26 09:42:21 +01:00
parent f427e77211
commit f75d80cd27

View File

@ -4,6 +4,7 @@ import org.apache.commons.collections4.SetUtils;
import org.apache.commons.collections4.set.TransformedSet; import org.apache.commons.collections4.set.TransformedSet;
import org.junit.Test; import org.junit.Test;
import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@ -18,55 +19,34 @@ public class SetUtilsUnitTest {
@Test(expected = IllegalArgumentException.class) @Test(expected = IllegalArgumentException.class)
public void givenSetAndPredicate_whenPredicatedSet_thenValidateSet_and_throw_IllegalArgumentException() { public void givenSetAndPredicate_whenPredicatedSet_thenValidateSet_and_throw_IllegalArgumentException() {
Set<String> sourceSet = new HashSet<>(); Set<String> sourceSet = new HashSet<>();
sourceSet.add("London"); sourceSet.addAll(Arrays.asList("London", "Lagos", "Err Source1"));
sourceSet.add("Lagos");
sourceSet.add("Error Source1");
Set<String> validatingSet Set<String> validatingSet
= SetUtils.predicatedSet(sourceSet, (s) -> s.startsWith("L")); = SetUtils.predicatedSet(sourceSet, (s) -> s.startsWith("L"));
validatingSet.add("Error Source2"); validatingSet.add("Err Source2");
} }
@Test @Test
public void givenTwoSets_whenDifference_thenSetView() { public void givenTwoSets_whenDifference_thenSetView() {
Set<Integer> a = new HashSet<>(); Set<Integer> a = new HashSet<>(Arrays.asList(1,2,5));
a.add(1); Set<Integer> b = new HashSet<>(Arrays.asList(1,2));
a.add(2);
a.add(5);
Set<Integer> b = new HashSet<>();
b.add(1);
b.add(2);
SetUtils.SetView<Integer> result = SetUtils.difference(a, b); SetUtils.SetView<Integer> result = SetUtils.difference(a, b);
assertTrue(result.size() == 1 && result.contains(5)); assertTrue(result.size() == 1 && result.contains(5));
} }
@Test @Test
public void givenTwoSets_whenUnion_thenUnionResult() { public void givenTwoSets_whenUnion_thenUnionResult() {
Set<Integer> a = new HashSet<>(); Set<Integer> a = new HashSet<>(Arrays.asList(1,2,5));
a.add(1); Set<Integer> b = new HashSet<>(Arrays.asList(1,2));
a.add(2); Set<Integer> expected = new HashSet<>(Arrays.asList(1,2,5));
a.add(5);
Set<Integer> b = new HashSet<>();
b.add(1);
b.add(2);
Set<Integer> expected = new HashSet<>();
expected.addAll(a);
expected.addAll(b);
SetUtils.SetView<Integer> union = SetUtils.union(a, b); SetUtils.SetView<Integer> union = SetUtils.union(a, b);
assertTrue(SetUtils.isEqualSet(expected, union)); assertTrue(SetUtils.isEqualSet(expected, union));
} }
@Test @Test
public void givenTwoSets_whenIntersection_thenIntersectionResult() { public void givenTwoSets_whenIntersection_thenIntersectionResult() {
Set<Integer> a = new HashSet<>(); Set<Integer> a = new HashSet<>(Arrays.asList(1,2,5));
a.add(1); Set<Integer> b = new HashSet<>(Arrays.asList(1,2));
a.add(2); Set<Integer> expected = new HashSet<>(Arrays.asList(1,2));
a.add(5);
Set<Integer> b = new HashSet<>();
b.add(1);
b.add(2);
Set<Integer> expected = new HashSet<>();
expected.add(1);
expected.add(2);
SetUtils.SetView<Integer> intersect = SetUtils.intersection(a, b); SetUtils.SetView<Integer> intersect = SetUtils.intersection(a, b);
assertTrue(SetUtils.isEqualSet(expected, intersect)); assertTrue(SetUtils.isEqualSet(expected, intersect));
} }
@ -77,8 +57,7 @@ public class SetUtilsUnitTest {
a.add(2); a.add(2);
assertEquals(a.toArray()[0], 4); assertEquals(a.toArray()[0], 4);
Set<Integer> source = new HashSet<>(); Set<Integer> source = new HashSet<>(Arrays.asList(1));
source.add(1);
Set<Integer> newSet = TransformedSet.transformedSet(source, (e) -> e * 2); Set<Integer> newSet = TransformedSet.transformedSet(source, (e) -> e * 2);
assertEquals(newSet.toArray()[0], 2); assertEquals(newSet.toArray()[0], 2);
assertEquals(source.toArray()[0], 2); assertEquals(source.toArray()[0], 2);
@ -86,30 +65,19 @@ public class SetUtilsUnitTest {
@Test @Test
public void givenTwoSet_whenDisjunction_thenDisjunctionSet() { public void givenTwoSet_whenDisjunction_thenDisjunctionSet() {
Set<Integer> a = new HashSet<>(); Set<Integer> a = new HashSet<>(Arrays.asList(1,2,5));
a.add(1); Set<Integer> b = new HashSet<>(Arrays.asList(1,2,3));
a.add(2);
a.add(5);
Set<Integer> b = new HashSet<>();
b.add(1);
b.add(2);
b.add(3);
SetUtils.SetView<Integer> result = SetUtils.disjunction(a, b); SetUtils.SetView<Integer> result = SetUtils.disjunction(a, b);
assertTrue(result.toSet().contains(5) && result.toSet().contains(3)); assertTrue(result.toSet().contains(5) && result.toSet().contains(3));
} }
@Test @Test
public void givenSet_when_OrderedSet_thenMaintainElementOrder() { public void givenSet_when_OrderedSet_thenMaintainElementOrder() {
Set<Integer> set = new HashSet<>(); Set<Integer> set = new HashSet<>(Arrays.asList(10,1,5));
set.add(10);
set.add(1);
set.add(5);
System.out.println("unordered set: " + set); System.out.println("unordered set: " + set);
Set<Integer> orderedSet = SetUtils.orderedSet(new HashSet<>()); Set<Integer> orderedSet = SetUtils.orderedSet(new HashSet<>());
orderedSet.add(10); orderedSet.addAll(Arrays.asList(10,1,5));
orderedSet.add(1);
orderedSet.add(5);
System.out.println("ordered set = " + orderedSet); System.out.println("ordered set = " + orderedSet);
} }
} }