package org.atlasapi.persistence.media.entity; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import org.atlasapi.media.entity.Image; import org.atlasapi.media.entity.ImageTheme; import org.atlasapi.media.entity.ImageColor; import org.joda.time.DateTime; import org.joda.time.DateTimeConstants; import org.joda.time.DateTimeZone; import org.junit.Test; import com.metabroadcast.common.media.MimeType; public class ImageTranslatorTest { private final ImageTranslator imageTranslator = new ImageTranslator(); @Test public void testEncodeAndDecode() { Image image = createImage(); Image decodedImage = imageTranslator.fromDBObject(imageTranslator.toDBObject(null, image), null); assertThat(decodedImage.getCanonicalUri(), is(equalTo(image.getCanonicalUri()))); assertThat(decodedImage.getAvailabilityStart(), is(equalTo(image.getAvailabilityStart()))); assertThat(decodedImage.getAvailabilityEnd(), is(equalTo(image.getAvailabilityEnd()))); assertThat(decodedImage.getTheme(), is(equalTo(image.getTheme()))); assertThat(decodedImage.getColor(), is(equalTo(image.getColor()))); assertThat(decodedImage.getHeight(), is(equalTo(image.getHeight()))); assertThat(decodedImage.getWidth(), is(equalTo(image.getWidth()))); assertThat(decodedImage.getMimeType(), is(equalTo(image.getMimeType()))); assertThat(decodedImage.hasTitleArt(), is(equalTo(image.hasTitleArt()))); } private Image createImage() { Image image = new Image("http://example.com"); image.setAvailabilityStart(new DateTime(2013, DateTimeConstants.FEBRUARY, 1, 0, 0, 0, 0).withZone(DateTimeZone.UTC)); image.setAvailabilityEnd(new DateTime(2013, DateTimeConstants.FEBRUARY, 2, 0, 0, 0, 0).withZone(DateTimeZone.UTC)); image.setTheme(ImageTheme.DARK_OPAQUE); image.setColor(ImageColor.BLACK_AND_WHITE); image.setHeight(300); image.setWidth(200); image.setMimeType(MimeType.IMAGE_JPG); image.setHasTitleArt(true); return image; } }