@Override public Tuple<Flow<A>, Flow<B>> unzip() { return Tuple.create(firsts(), seconds()); }
@Override public Tuple<Flow<A>, Flow<B>> unzip() { return Tuple.create(firsts(), seconds()); }
@Override public Tuple<String, String> map(Tuple<Integer, String> value) { return Tuple.create(StringUtils.reverse(value.second), String.format("%d-%d", value.first, value.second.length())); }
@Test public void equivalent_tuples_are_equal() { assertTrue(t.equals(Tuple.create("tapestry", 5))); } }
@Test public void values_must_be_equal() { assertFalse(t.equals(Tuple.create("tapestry", 4))); }
@Test public void first_tuple_from_zipped_flow() { assertEquals(zipped.drop(2).first(), Tuple.create(3, "wilma")); }
@SuppressWarnings("unchecked") @Test public void concat_a_zipped_flow() { Tuple<Integer, String> bambam = Tuple.create(4, "bam-bam"); List<Tuple<Integer, String>> asList = Arrays.asList(bambam); ZippedFlow<Integer, String> zipped2 = zipped.concat(asList); assertEquals(zipped2.count(), 4); assertEquals(zipped2.reverse().seconds().first(), "bam-bam"); }
@SuppressWarnings("unchecked") @Test public void removeNulls() { Tuple<Integer, String> pebbles = Tuple.create(9, "pebbles"); ZippedFlow<Integer, String> extendedFlow = zipped.concat(Arrays.asList(null, pebbles, null)); ZippedFlow<Integer, String> noNulls = extendedFlow.removeNulls(); assertEquals(extendedFlow.count(), 6); assertEquals(noNulls.count(), 4); assertEquals(noNulls.reverse().seconds().first(), "pebbles"); }