import java.util.stream.Collectors; import java.util.List; class Test7 { public static void main(String[] args) { CS2030STest i = new CS2030STest(); List intList1 = List.of( 1, 1, 1, 2, 2, 1, 1, 1, 1, 4, 3, 3 ); List intList2 = List.of( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ); List strList1 = List.of( "A", "A", "A", "B", "B", "A", "A", "A", "A", "R", "Z", "Z" ); List strList2 = List.of( "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A" ); List> pairLst1 = List.of( new Pair(3, 1), new Pair(2, 2), new Pair(4, 1), new Pair(1, 4), new Pair(2, 3) ); List> pairLst2 = List.of( new Pair(12, 1) ); List> pairLst3 = List.of( new Pair(3, "A"), new Pair(2, "B"), new Pair(4, "A"), new Pair(1, "R"), new Pair(2, "Z") ); List> pairLst4 = List.of( new Pair(12, "A") ); i.expectReturn("Streaming.decode(pairLst1.stream().parallel())", () -> Streaming.decode(pairLst1.stream().parallel()), intList1); i.expectReturn("Streaming.decode(pairLst2.stream().parallel())", () -> Streaming.decode(pairLst2.stream().parallel()), intList2); i.expectReturn("Streaming.decode(pairLst3.stream().parallel())", () -> Streaming.decode(pairLst3.stream().parallel()), strList1); i.expectReturn("Streaming.decode(pairLst4.stream().parallel())", () -> Streaming.decode(pairLst4.stream().parallel()), strList2); i.expectReturn("Streaming.decode(pairLst1.stream().parallel()).equals(intList1)", () -> Streaming.decode(pairLst1.stream().parallel()).equals(intList1), true); i.expectReturn("Streaming.decode(pairLst2.stream().parallel()).equals(intList2)", () -> Streaming.decode(pairLst2.stream().parallel()).equals(intList2), true); i.expectReturn("Streaming.decode(pairLst3.stream().parallel()).equals(strList1)", () -> Streaming.decode(pairLst3.stream().parallel()).equals(strList1), true); i.expectReturn("Streaming.decode(pairLst4.stream().parallel()).equals(strList2)", () -> Streaming.decode(pairLst4.stream().parallel()).equals(strList2), true); i.expectReturn("Streaming.decode(pairLst1.stream().parallel()).equals(intList2)", () -> Streaming.decode(pairLst1.stream().parallel()).equals(intList2), false); i.expectReturn("Streaming.decode(pairLst2.stream().parallel()).equals(intList1)", () -> Streaming.decode(pairLst2.stream().parallel()).equals(intList1), false); i.expectReturn("Streaming.decode(pairLst3.stream().parallel()).equals(strList2)", () -> Streaming.decode(pairLst3.stream().parallel()).equals(strList2), false); i.expectReturn("Streaming.decode(pairLst4.stream().parallel()).equals(strList1)", () -> Streaming.decode(pairLst4.stream().parallel()).equals(strList1), false); } }