/**
*
*/
package org.jhove2.module.format.tiff;
import static org.junit.Assert.assertTrue;
import java.nio.ByteOrder;
import java.util.List;
import java.util.Map;
import org.jhove2.module.format.tiff.type.Short;
import javax.annotation.Resource;
import org.junit.Before;
import org.junit.Test;
/**
* @author mstrong
*
*/
public class IntelTiffFileTest extends TiffModuleTestBase{
private String intelTestFile;
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
super.setUp();
parse(intelTestFile);
}
/**
* Test methods for TIFF Parser
*/
@Test
public void testByteOrder() {
ByteOrder byteOrder = testTiffModule.getIFH().getByteOrder();
assertTrue(byteOrder == ByteOrder.LITTLE_ENDIAN);
}
@Test
public void testIFDZeroEntriesMessages() {
List<IFD> ifdList = testTiffModule.getIFDs();
for (IFD ifd : ifdList) {
assertTrue (ifd.getZeroIFDEntriesMessage() == null);
}
}
@Test
public void testTagExistence() {
List<IFD> ifdList = testTiffModule.getIFDs();
for (IFD ifd : ifdList) {
Map<Integer, IFDEntry> ifdEntryList = ifd.getEntries();
IFDEntry ifdEntry = null;
/* test 254 does exist and unknownTagMessage is null */
if ((ifdEntry = ifdEntryList.get(TiffIFD.NEWSUBFILETYPE)) != null)
assertTrue("Known tag 254 (NewSubfileType) flagged", ifdEntry.getUnknownTagMessage() == null);
/* test 34851 tag does not exist */
ifdEntry = ifdEntryList.get(34851);
assertTrue("Tag 34851 should not exist in Tiff file ", ifdEntry == null);
}
}
@Test
public void testUnknownTagEntry() {
List<IFD> ifdList = testTiffModule.getIFDs();
for (IFD ifd : ifdList) {
Map<Integer, IFDEntry> ifdEntryList = ifd.getEntries();
IFDEntry ifdEntry = null;
/* test 20515 does exist but tag is not defined */
if ((ifdEntry = ifdEntryList.get(20515)) != null) {
assertTrue("Unknown tag 20515 flagged", ifdEntry.getUnknownTagMessage() != null);
/* test that the value type is what is expected */
Object value = ifdEntry.getValue();
String className = value.getClass().getName();
assertTrue("Value type " + className + " is not of expected Short type", value instanceof org.jhove2.module.format.tiff.type.Short);
/* test that the value is as expected */
if (value instanceof org.jhove2.module.format.tiff.type.Short) {
int shortValue = ((Short)value).getValue();
assertTrue("Value of tag 20515: <" + shortValue + "> does not equal expected value of 6", shortValue==6);
}
}
}
}
public String getIntelTestFile() {
return intelTestFile;
}
@Resource
public void setIntelTestFile(String intelTestFile) {
this.intelTestFile = intelTestFile;
}
}