package org.fluxtream.core.images;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import com.drew.metadata.Metadata;
import org.fluxtream.core.utils.HashUtilsTest;
import junit.framework.Assert;
import org.junit.Test;
/**
* <p>
* <code>ImageOrientationTest</code> tests the {@link ImageOrientation} class.
* </p>
*
* @author Chris Bartley (bartley@cmu.edu)
*/
public final class ImageOrientationTest {
@Test
public void tesGetId() throws Exception {
Assert.assertEquals(1, ImageOrientation.ORIENTATION_1.getId());
Assert.assertEquals(2, ImageOrientation.ORIENTATION_2.getId());
Assert.assertEquals(3, ImageOrientation.ORIENTATION_3.getId());
Assert.assertEquals(4, ImageOrientation.ORIENTATION_4.getId());
Assert.assertEquals(5, ImageOrientation.ORIENTATION_5.getId());
Assert.assertEquals(6, ImageOrientation.ORIENTATION_6.getId());
Assert.assertEquals(7, ImageOrientation.ORIENTATION_7.getId());
Assert.assertEquals(8, ImageOrientation.ORIENTATION_8.getId());
}
@Test
public void testFindOrientationById() throws Exception {
Assert.assertNull(ImageOrientation.findById(0));
Assert.assertNull(ImageOrientation.findById(-1));
Assert.assertNull(ImageOrientation.findById(9));
Assert.assertEquals(ImageOrientation.ORIENTATION_1, ImageOrientation.findById(1));
Assert.assertEquals(ImageOrientation.ORIENTATION_2, ImageOrientation.findById(2));
Assert.assertEquals(ImageOrientation.ORIENTATION_3, ImageOrientation.findById(3));
Assert.assertEquals(ImageOrientation.ORIENTATION_4, ImageOrientation.findById(4));
Assert.assertEquals(ImageOrientation.ORIENTATION_5, ImageOrientation.findById(5));
Assert.assertEquals(ImageOrientation.ORIENTATION_6, ImageOrientation.findById(6));
Assert.assertEquals(ImageOrientation.ORIENTATION_7, ImageOrientation.findById(7));
Assert.assertEquals(ImageOrientation.ORIENTATION_8, ImageOrientation.findById(8));
}
@Test
public void testGetOrientation() {
Assert.assertNull(ImageOrientation.getOrientation((Metadata)null));
Assert.assertNull(ImageOrientation.getOrientation((InputStream)null));
Assert.assertNull(ImageOrientation.getOrientation(new ByteArrayInputStream("not an image".getBytes())));
Assert.assertNull(ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/test_image1.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_6, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/test_image2.jpg")));
Assert.assertNull(ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/test_image3.png")));
Assert.assertNull(ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/test_image4.gif")));
Assert.assertEquals(ImageOrientation.ORIENTATION_1, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/test_image5.tiff")));
Assert.assertEquals(ImageOrientation.ORIENTATION_1, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_1.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_2, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_2.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_3, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_3.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_4, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_4.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_5, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_5.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_6, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_6.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_7, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_7.jpg")));
Assert.assertEquals(ImageOrientation.ORIENTATION_8, ImageOrientation.getOrientation(HashUtilsTest.class.getResourceAsStream("/images/orientation/orientation_8.jpg")));
}
}