/* You may freely copy, distribute, modify and use this class as long as the original author attribution remains intact. See message below. Copyright (C) 2005 Christian Pesch. All Rights Reserved. */ package slash.metamusic.mp3; import junit.framework.TestCase; /** * Tests for ID3Genre */ public class ID3GenreTest extends TestCase { private static final String WELL_KNOWN_GENRE_NAME = "Soul"; private static final int WELL_KNOWN_GENRE_ID = 42; private static final String UNUSUAL_GENRE_NAME = "Speech & Spoken"; private static final int UNUSUAL_GENRE_ID = -1; public ID3GenreTest(String name) { super(name); } public void testWellKnownGenreByName() { ID3Genre genre = new ID3Genre(WELL_KNOWN_GENRE_NAME); assertEquals(WELL_KNOWN_GENRE_ID, genre.getId()); assertEquals(WELL_KNOWN_GENRE_NAME, genre.getName()); assertEquals(WELL_KNOWN_GENRE_NAME + "(" + WELL_KNOWN_GENRE_ID + ")", genre.getFormattedName()); assertEquals(true, genre.isWellKnown()); assertEquals(new ID3Genre(WELL_KNOWN_GENRE_NAME), genre); assertEquals(new ID3Genre(WELL_KNOWN_GENRE_ID), genre); } public void testWellKnownGenreById() { ID3Genre genre = new ID3Genre(WELL_KNOWN_GENRE_ID); assertEquals(WELL_KNOWN_GENRE_ID, genre.getId()); assertEquals(WELL_KNOWN_GENRE_NAME, genre.getName()); assertEquals(WELL_KNOWN_GENRE_NAME + "(" + WELL_KNOWN_GENRE_ID + ")", genre.getFormattedName()); assertEquals(true, genre.isWellKnown()); assertEquals(new ID3Genre(WELL_KNOWN_GENRE_NAME), genre); assertEquals(new ID3Genre(WELL_KNOWN_GENRE_ID), genre); } public void testUnusualGenreByName() { ID3Genre genre = new ID3Genre(UNUSUAL_GENRE_NAME); assertEquals(UNUSUAL_GENRE_ID, genre.getId()); assertEquals(UNUSUAL_GENRE_NAME, genre.getName()); assertEquals(UNUSUAL_GENRE_NAME, genre.getFormattedName()); assertEquals(false, genre.isWellKnown()); assertEquals(new ID3Genre(UNUSUAL_GENRE_NAME), genre); } public void testUnusualGenreById() { ID3Genre genre = new ID3Genre(UNUSUAL_GENRE_ID); assertEquals(UNUSUAL_GENRE_ID, genre.getId()); assertNull(genre.getName()); assertEquals("null", genre.getFormattedName()); assertEquals(false, genre.isWellKnown()); assertEquals(new ID3Genre(UNUSUAL_GENRE_ID).getId(), genre.getId()); assertEquals(new ID3Genre(UNUSUAL_GENRE_ID).getName(), genre.getName()); assertEquals(new ID3Genre(UNUSUAL_GENRE_NAME).getId(), genre.getId()); } public void testAltRock() { ID3Genre genre = new ID3Genre("Alt. Rock"); assertEquals(40, genre.getId()); assertEquals("Alt. Rock", genre.getName()); assertEquals("Alt. Rock(40)", genre.getFormattedName()); assertEquals(true, genre.isWellKnown()); } public void testAltRock40() { ID3Genre genre = new ID3Genre("Alt. Rock(40)"); assertEquals(40, genre.getId()); assertEquals("Alt. Rock", genre.getName()); assertEquals("Alt. Rock(40)", genre.getFormattedName()); assertEquals(true, genre.isWellKnown()); } public void testAlternativeRock() { ID3Genre genre = new ID3Genre("Alternative Rock"); assertEquals(-1, genre.getId()); assertEquals("Alternative Rock", genre.getName()); assertEquals("Alternative Rock", genre.getFormattedName()); assertEquals(false, genre.isWellKnown()); } }