package org.jnode.test.partitions.ibm; import java.io.File; import java.io.FileInputStream; import java.util.Arrays; import java.util.Collection; import org.jnode.partitions.ibm.IBMPartitionTable; import org.jnode.test.fs.FileSystemTestUtils; import org.jnode.util.FileUtils; import org.junit.Assert; import org.junit.Test; /** * Test for {@link org.jnode.partitions.ibm.IBMPartitionTable}. */ public class IBMPartitionTableTest { @Test public void testDetection() throws Exception { Collection<String> testFileNames = Arrays.asList( "bsd.dd", "dos-2.dd", "dos-3-to-6.dd", "freebsd.dd", "grub.dd", "hp-en.dd", "hp-no.dd", "lilo.dd", "makeboot.dd", "mbr-sig.dd", "powerrecover.dd", "syslinux.dd", "thinkpad.dd", "truecrypt.dd", "win-2k.dd", "win-2k-de.dd", "win-9x.dd", "win-pe.dd", "win-vista.dd", "win-xp.dd"); for (String testFileName : testFileNames) { File testFile = FileSystemTestUtils.getTestFile("test/partitions/ibm/" + testFileName); byte[] buffer = FileUtils.load(new FileInputStream(testFile), true); System.out.println("Testing: " + testFileName); Assert.assertTrue("Expected a valid partition for: " + testFileName, IBMPartitionTable.containsPartitionTable(buffer)); } } @Test public void testNotDetected() throws Exception { Collection<String> testFileNames = Arrays.asList( "linux-kernel.dd", "random-data.dd", "sco.dd"); for (String testFileName : testFileNames) { File testFile = FileSystemTestUtils.getTestFile("test/partitions/ibm/" + testFileName); byte[] buffer = FileUtils.load(new FileInputStream(testFile), true); System.out.println("Testing: " + testFileName); Assert.assertFalse("Not expected a valid partition for: " + testFileName, IBMPartitionTable.containsPartitionTable(buffer)); } } }