diff options
author | Scott Jackson <daneren2005@gmail.com> | 2012-07-02 21:24:02 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2012-07-02 21:24:02 -0700 |
commit | a1a18f77a50804e0127dfa4b0f5240c49c541184 (patch) | |
tree | 19a38880afe505beddb5590379a8134d7730a277 /subsonic-main/src/test/java/net/sourceforge/subsonic/domain/MediaFileComparatorTestCase.java | |
parent | b61d787706979e7e20f4c3c4f93c1f129d92273f (diff) | |
download | dsub-a1a18f77a50804e0127dfa4b0f5240c49c541184.tar.gz dsub-a1a18f77a50804e0127dfa4b0f5240c49c541184.tar.bz2 dsub-a1a18f77a50804e0127dfa4b0f5240c49c541184.zip |
Initial Commit
Diffstat (limited to 'subsonic-main/src/test/java/net/sourceforge/subsonic/domain/MediaFileComparatorTestCase.java')
-rw-r--r-- | subsonic-main/src/test/java/net/sourceforge/subsonic/domain/MediaFileComparatorTestCase.java | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/subsonic-main/src/test/java/net/sourceforge/subsonic/domain/MediaFileComparatorTestCase.java b/subsonic-main/src/test/java/net/sourceforge/subsonic/domain/MediaFileComparatorTestCase.java new file mode 100644 index 00000000..6e1047f4 --- /dev/null +++ b/subsonic-main/src/test/java/net/sourceforge/subsonic/domain/MediaFileComparatorTestCase.java @@ -0,0 +1,124 @@ +/* + This file is part of Subsonic. + + Subsonic is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Subsonic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Subsonic. If not, see <http://www.gnu.org/licenses/>. + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.domain; + +import junit.framework.TestCase; + +/** + * @author Sindre Mehus + * @version $Id$ + */ +public class MediaFileComparatorTestCase extends TestCase { + + private final MediaFileComparator comparator = new MediaFileComparator(true); + + public void testCompareAlbums() throws Exception { + + MediaFile albumA2012 = new MediaFile(); + albumA2012.setMediaType(MediaFile.MediaType.ALBUM); + albumA2012.setPath("a"); + albumA2012.setYear(2012); + + MediaFile albumB2012 = new MediaFile(); + albumB2012.setMediaType(MediaFile.MediaType.ALBUM); + albumB2012.setPath("b"); + albumB2012.setYear(2012); + + MediaFile album2013 = new MediaFile(); + album2013.setMediaType(MediaFile.MediaType.ALBUM); + album2013.setPath("c"); + album2013.setYear(2013); + + MediaFile albumWithoutYear = new MediaFile(); + albumWithoutYear.setMediaType(MediaFile.MediaType.ALBUM); + albumWithoutYear.setPath("c"); + + assertEquals(0, comparator.compare(albumWithoutYear, albumWithoutYear)); + assertEquals(0, comparator.compare(albumA2012, albumA2012)); + + assertEquals(-1, comparator.compare(albumA2012, albumWithoutYear)); + assertEquals(-1, comparator.compare(album2013, albumWithoutYear)); + assertEquals(1, comparator.compare(album2013, albumA2012)); + + assertEquals(1, comparator.compare(albumWithoutYear, albumA2012)); + assertEquals(1, comparator.compare(albumWithoutYear, album2013)); + assertEquals(-1, comparator.compare(albumA2012, album2013)); + + assertEquals(-1, comparator.compare(albumA2012, albumB2012)); + assertEquals(1, comparator.compare(albumB2012, albumA2012)); + } + + public void testCompareDiscNumbers() throws Exception { + + MediaFile discXtrack1 = new MediaFile(); + discXtrack1.setMediaType(MediaFile.MediaType.MUSIC); + discXtrack1.setPath("a"); + discXtrack1.setTrackNumber(1); + + MediaFile discXtrack2 = new MediaFile(); + discXtrack2.setMediaType(MediaFile.MediaType.MUSIC); + discXtrack2.setPath("a"); + discXtrack2.setTrackNumber(2); + + MediaFile disc5track1 = new MediaFile(); + disc5track1.setMediaType(MediaFile.MediaType.MUSIC); + disc5track1.setPath("a"); + disc5track1.setDiscNumber(5); + disc5track1.setTrackNumber(1); + + MediaFile disc5track2 = new MediaFile(); + disc5track2.setMediaType(MediaFile.MediaType.MUSIC); + disc5track2.setPath("a"); + disc5track2.setDiscNumber(5); + disc5track2.setTrackNumber(2); + + MediaFile disc6track1 = new MediaFile(); + disc6track1.setMediaType(MediaFile.MediaType.MUSIC); + disc6track1.setPath("a"); + disc6track1.setDiscNumber(6); + disc6track1.setTrackNumber(1); + + MediaFile disc6track2 = new MediaFile(); + disc6track2.setMediaType(MediaFile.MediaType.MUSIC); + disc6track2.setPath("a"); + disc6track2.setDiscNumber(6); + disc6track2.setTrackNumber(2); + + assertEquals(0, comparator.compare(discXtrack1, discXtrack1)); + assertEquals(0, comparator.compare(disc5track1, disc5track1)); + + assertEquals(-1, comparator.compare(discXtrack1, discXtrack2)); + assertEquals(1, comparator.compare(discXtrack2, discXtrack1)); + + assertEquals(-1, comparator.compare(disc5track1, disc5track2)); + assertEquals(1, comparator.compare(disc6track2, disc5track1)); + + assertEquals(-1, comparator.compare(disc5track1, disc6track1)); + assertEquals(1, comparator.compare(disc6track1, disc5track1)); + + assertEquals(-1, comparator.compare(disc5track2, disc6track1)); + assertEquals(1, comparator.compare(disc6track1, disc5track2)); + + assertEquals(-1, comparator.compare(discXtrack1, disc5track1)); + assertEquals(1, comparator.compare(disc5track1, discXtrack1)); + + assertEquals(-1, comparator.compare(discXtrack1, disc5track2)); + assertEquals(1, comparator.compare(disc5track2, discXtrack1)); + } +} |