parent
a79b56fe5a
commit
437d8ce947
@ -0,0 +1,31 @@ |
||||
package org.airsonic.player.service; |
||||
|
||||
import org.airsonic.player.domain.MediaLibraryStatistics; |
||||
import org.airsonic.player.service.search.IndexManager; |
||||
import org.junit.Test; |
||||
import org.junit.runner.RunWith; |
||||
import org.mockito.InjectMocks; |
||||
import org.mockito.Mock; |
||||
import org.mockito.runners.MockitoJUnitRunner; |
||||
|
||||
import static org.junit.Assert.*; |
||||
import static org.mockito.Mockito.when; |
||||
|
||||
@RunWith(MockitoJUnitRunner.class) |
||||
public class MediaScannerServiceUnitTest { |
||||
|
||||
@InjectMocks |
||||
MediaScannerService mediaScannerService; |
||||
|
||||
@Mock |
||||
IndexManager indexManager; |
||||
|
||||
@Test |
||||
public void neverScanned() { |
||||
when(indexManager.getStatistics()).thenReturn(null); |
||||
assertTrue(mediaScannerService.neverScanned()); |
||||
|
||||
when(indexManager.getStatistics()).thenReturn(new MediaLibraryStatistics()); |
||||
assertFalse(mediaScannerService.neverScanned()); |
||||
} |
||||
} |
@ -0,0 +1,88 @@ |
||||
package org.airsonic.player.util; |
||||
|
||||
import org.airsonic.player.domain.MediaLibraryStatistics; |
||||
import org.junit.Test; |
||||
|
||||
import java.util.Date; |
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
|
||||
import static org.junit.Assert.*; |
||||
|
||||
public class UtilTest { |
||||
|
||||
@Test |
||||
public void objectToStringMapNull() { |
||||
MediaLibraryStatistics statistics = null; |
||||
Map<String, String> stringStringMap = Util.objectToStringMap(statistics); |
||||
assertNull(stringStringMap); |
||||
} |
||||
|
||||
@Test |
||||
public void objectToStringMap() { |
||||
Date date = new Date(1568350960725L); |
||||
MediaLibraryStatistics statistics = new MediaLibraryStatistics(date); |
||||
statistics.incrementAlbums(5); |
||||
statistics.incrementSongs(4); |
||||
statistics.incrementArtists(910823); |
||||
statistics.incrementTotalDurationInSeconds(30); |
||||
statistics.incrementTotalLengthInBytes(2930491082L); |
||||
Map<String, String> stringStringMap = Util.objectToStringMap(statistics); |
||||
assertEquals("5", stringStringMap.get("albumCount")); |
||||
assertEquals("4", stringStringMap.get("songCount")); |
||||
assertEquals("910823", stringStringMap.get("artistCount")); |
||||
assertEquals("30", stringStringMap.get("totalDurationInSeconds")); |
||||
assertEquals("2930491082", stringStringMap.get("totalLengthInBytes")); |
||||
assertEquals("1568350960725", stringStringMap.get("scanDate")); |
||||
} |
||||
|
||||
@Test |
||||
public void stringMapToObject() { |
||||
Map<String, String> stringStringMap = new HashMap<>(); |
||||
stringStringMap.put("albumCount", "5"); |
||||
stringStringMap.put("songCount", "4"); |
||||
stringStringMap.put("artistCount", "910823"); |
||||
stringStringMap.put("totalDurationInSeconds", "30"); |
||||
stringStringMap.put("totalLengthInBytes", "2930491082"); |
||||
stringStringMap.put("scanDate", "1568350960725"); |
||||
MediaLibraryStatistics statistics = Util.stringMapToObject(MediaLibraryStatistics.class, stringStringMap); |
||||
assertEquals(new Integer(5), statistics.getAlbumCount()); |
||||
assertEquals(new Integer(4), statistics.getSongCount()); |
||||
assertEquals(new Integer(910823), statistics.getArtistCount()); |
||||
assertEquals(new Long(30L), statistics.getTotalDurationInSeconds()); |
||||
assertEquals(new Long(2930491082L), statistics.getTotalLengthInBytes()); |
||||
assertEquals(new Date(1568350960725L), statistics.getScanDate()); |
||||
} |
||||
|
||||
@Test |
||||
public void stringMapToObjectWithExtraneousData() { |
||||
Map<String, String> stringStringMap = new HashMap<>(); |
||||
stringStringMap.put("albumCount", "5"); |
||||
stringStringMap.put("songCount", "4"); |
||||
stringStringMap.put("artistCount", "910823"); |
||||
stringStringMap.put("totalDurationInSeconds", "30"); |
||||
stringStringMap.put("totalLengthInBytes", "2930491082"); |
||||
stringStringMap.put("scanDate", "1568350960725"); |
||||
stringStringMap.put("extraneousData", "nothingHereToLookAt"); |
||||
MediaLibraryStatistics statistics = Util.stringMapToObject(MediaLibraryStatistics.class, stringStringMap); |
||||
assertEquals(new Integer(5), statistics.getAlbumCount()); |
||||
assertEquals(new Integer(4), statistics.getSongCount()); |
||||
assertEquals(new Integer(910823), statistics.getArtistCount()); |
||||
assertEquals(new Long(30L), statistics.getTotalDurationInSeconds()); |
||||
assertEquals(new Long(2930491082L), statistics.getTotalLengthInBytes()); |
||||
assertEquals(new Date(1568350960725L), statistics.getScanDate()); |
||||
} |
||||
|
||||
public void stringMapToObjectWithNoData() { |
||||
Map<String, String> stringStringMap = new HashMap<>(); |
||||
MediaLibraryStatistics statistics = Util.stringMapToObject(MediaLibraryStatistics.class, stringStringMap); |
||||
assertNotNull(statistics); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void stringMapToValidObjectWithNoData() { |
||||
Map<String, String> stringStringMap = new HashMap<>(); |
||||
MediaLibraryStatistics statistics = Util.stringMapToValidObject(MediaLibraryStatistics.class, stringStringMap); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue