package com.pugh.sockso.cache;
import com.pugh.sockso.music.CoverArt;
import com.pugh.sockso.tests.SocksoTestCase;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class CoverArtCacheTest extends SocksoTestCase {
CoverArtCache cache;
@Override
protected void setUp() throws Exception {
cache = new CoverArtCache() {
// Overidden to return a temp dir rather than the application dir
@Override
protected File getCoverCacheFile(final String itemName, final String extension) {
return new File(System.getProperty("java.io.tmpdir") + File.separator + itemName + "." + extension);
}
};
}
@Override
protected void tearDown() throws Exception {
cache = null;
}
public void testIsCached() throws IOException, CacheException {
String itemName = "al123";
BufferedImage image = ImageIO.read(new File("test/data/covers/" + itemName + ".jpg"));
CoverArt coverArt = new CoverArt(itemName, image);
cache.addToCache(coverArt);
boolean expResult = true;
boolean result = cache.isCached(itemName);
assertEquals(expResult, result);
}
public void testGetCachedImageExtension() throws IOException {
String itemName = "al123";
BufferedImage image = ImageIO.read(new File("test/data/covers/" + itemName + ".jpg"));
CoverArt coverArt = new CoverArt(itemName, image);
String expResult = "jpg";
String result = cache.getCachedImageExtension(itemName);
assertEquals(expResult, result);
}
public void testGetCoverArt() throws Exception {
String itemName = "al123";
BufferedImage image = ImageIO.read(new File("test/data/covers/" + itemName + ".jpg"));
CoverArt coverArt = new CoverArt(itemName, image);
cache.addToCache(coverArt);
CoverArt result = cache.getCoverArt(itemName);
assertEquals(coverArt.getItemName(), result.getItemName());
assertNotNull(coverArt.getImage());
assertNotNull(result.getImage());
}
}