package com.pugh.sockso.music.tag;
import java.io.File;
import com.pugh.sockso.tests.SocksoTestCase;
public class TagTest extends SocksoTestCase {
public void testGuessArtist() {
File f = getTestMp3File();
assertEquals( "artist", AudioTag.guessArtist(f) );
}
public void testGuessAlbum() {
File f = getTestMp3File();
assertEquals( "album", AudioTag.guessAlbum(f) );
}
public void testGuessTrack() {
File f = getTestMp3File();
assertEquals( "song", AudioTag.guessTrack(f) );
}
public void testGuessTrackNumber() {
File f = getTestMp3File();
assertEquals( "01", AudioTag.guessTrackNumber(f) );
}
private File getTestMp3File() {
return new File( "/home/user/downloads/artist - album/01 - song.mp3" );
}
public void testCheckTrackNumberForTotal() {
assertEquals( "1", AudioTag.checkTrackNumberForTotal("1") );
assertEquals( "4", AudioTag.checkTrackNumberForTotal("4/10") );
}
public void testSetTrackNumberFromTotalTracks() throws Exception {
final AudioTag tag = new Mp3Tag();
assertEquals( tag.getTrackNumber(), 0 );
tag.setTrackNumber( "03/12" );
assertEquals( tag.getTrackNumber(), 3 );
tag.setTrackNumber( "7" );
assertEquals( tag.getTrackNumber(), 7 );
tag.setTrackNumber( "036" );
assertEquals( tag.getTrackNumber(), 36 );
tag.setTrackNumber( "nothing" ); // should fail, so expect no change
assertEquals( tag.getTrackNumber(), 36 );
}
}