package pr1.uebung10; import static org.junit.Assert.*; import org.junit.Test; import static pr.MakeItSimple.*; public class OrderedList1stTest { // private OrderedList list = new ArrayList(); private OrderedList list = new LinkedList(); @Test public void demoDatei() throws Exception { /* * Hier müssen die Testdaten gelesen und in die Liste eingefügt werden */ assertEquals(2928, list.size()); // erstes Element assertEquals(0, list.indexOf("'N Mann")); assertEquals("'N Mann", list.get(0).getSongName()); // doppeltes Element int pos = list.indexOf("Boom Boom"); assertTrue(pos == 328|| pos == 329); assertEquals("Boom Boom", list.get(328).getSongName()); assertEquals("Boom Boom", list.get(329).getSongName()); // letztes Element assertEquals(2927, list.indexOf("Überblendung")); assertEquals("Überblendung", list.get(2927).getSongName()); // nicht-existierendes Element assertEquals(-1, list.indexOf("den Song gibt es nicht")); } @Test public void sizeOnEmpty() { assertEquals(0, list.size()); } @Test public void insertOnlyElement() { list.insert(new SongImplementation("s1", new String[] {"a1", "a2"}, "album")); assertEquals(1, list.size()); assertEquals(0, list.indexOf("s1")); SongImplementation s = list.get(0); assertEquals("s1", s.getSongName()); assertArrayEquals(new String[] {"a1", "a2"}, s.getArtists()); assertEquals("album", s.getAlbumName()); } @Test public void indexOfOnEmpty() { assertEquals(-1, list.indexOf("Scarecrow")); } @Test public void indexOfFromFront() { list.insert(new SongImplementation("s1", new String[] {"a1"}, "album1")); assertEquals(0, list.indexOf("s1")); } @Test(expected=PRException.class) public void getOnEmpty() { list.get(0); } @Test public void getLeftMost() { list.insert(new SongImplementation("s1", new String[] {"a1a", "a1b", "a1c"}, "album1")); SongImplementation s = list.get(0); assertEquals("s1", s.getSongName()); assertArrayEquals(new String[] {"a1a", "a1b", "a1c"}, s.getArtists()); assertEquals("album1", s.getAlbumName()); } @Test(expected=PRException.class) public void deleteOnEmpty() { list.delete(0); } @Test public void deleteLeftMost() { list.insert(new SongImplementation("s1", new String[] {"a1a", "a1b", "a1c"}, "album1")); list.insert(new SongImplementation("s2", new String[] {"a2"}, "album2")); list.delete(0); assertEquals(1, list.size()); assertEquals("s2", list.get(0).getSongName()); } }