/* You may freely copy, distribute, modify and use this class as long as the original author attribution remains intact. See message below. Copyright (C) 2007 Christian Pesch. All Rights Reserved. */ package slash.metamusic.util; import org.junit.Test; import java.util.Collections; import static java.util.Arrays.asList; import static java.util.Collections.singletonList; import static org.junit.Assert.assertEquals; import static slash.metamusic.util.ContributorHelper.*; public class ContributorHelperTest { @Test public void testParseArtist() { assertEquals(singletonList("A"), parseArtist("A")); assertEquals(asList("A", "B"), parseArtist("A and B")); assertEquals(asList("A", "B"), parseArtist("A feat. B")); assertEquals(asList("A", "B"), parseArtist("A Feat. B")); assertEquals(asList("A", "B"), parseArtist("A featuring B")); assertEquals(asList("A", "B"), parseArtist("A Featuring B")); assertEquals(singletonList("A"), parseArtist(formatContributors("A", Collections.<String>emptyList()))); assertEquals(asList("A", "B"), parseArtist(formatContributors("A", singletonList("B")))); assertEquals(asList("A", "B", "C"), parseArtist(formatContributors("A", asList("B", "C")))); } @Test public void testParseTrack() { assertEquals(singletonList("A"), parseTrack("A")); assertEquals(asList("A", "B"), parseTrack("A (feat. B)")); assertEquals(asList("A", "B"), parseTrack("A (Feat. B)")); assertEquals(asList("A", "B"), parseTrack("A (featuring B)")); assertEquals(asList("A", "B"), parseTrack("A (Featuring B)")); assertEquals(asList("A", "B"), parseTrack("A (with B)")); assertEquals(asList("A", "B"), parseTrack("A (With B)")); } @Test public void testFormatContributors() { assertEquals("A", formatContributors("A", Collections.<String>emptyList())); assertEquals("A featuring B", formatContributors("A", singletonList("B"))); assertEquals("A featuring B, C", formatContributors("A", asList("B", "C"))); assertEquals("A featuring B, C, D", formatContributors("A", asList("B", "C", "D"))); } }