@Test public void testJoinWithFunction() { final List<FakeSpec> specs1 = Arrays.asList( new FakeSpec("a"), new FakeSpec("b"), new FakeSpec("c")); assertThat(join(specs1, ",", FakeSpec::getName), is("a,b,c")); final List<FakeSpec> specs2 = Arrays.asList( new FakeSpec("a"), new FakeSpec("b"), new FakeSpec("c")); assertThat(join(specs2, ", ", FakeSpec::getName), is("a, b, c")); final List<FakeSpec> specs3 = Arrays.asList( new FakeSpec(" a"), new FakeSpec("b "), new FakeSpec(" c ")); assertThat(join(specs3, ",", FakeSpec::getName), is("a,b,c")); final List<FakeSpec> specs4 = Arrays.asList( new FakeSpec(" a"), new FakeSpec("b "), new FakeSpec(" c ")); assertThat(join(specs4, ", ", FakeSpec::getName), is("a, b, c")); }