FileDocCategorySizeDatePackage
ItemLocationBoxTest.javaAPI Docmp4parser 1.0-RC-178146Wed Dec 19 20:10:22 GMT 2012com.coremedia.iso.boxes

ItemLocationBoxTest

public class ItemLocationBoxTest extends Object

Fields Summary
int[]
v
Constructors Summary
Methods Summary
public voidtestExtent()

        testExtent(1, 2, 4, 8);
        testExtent(2, 4, 8, 1);
        testExtent(4, 8, 1, 2);
        testExtent(8, 1, 2, 4);
    
public voidtestExtent(int a, int b, int c, int d)

        ItemLocationBox iloc = new ItemLocationBox();
        iloc.setVersion(1);
        iloc.setBaseOffsetSize(a);
        iloc.setIndexSize(b);
        iloc.setLengthSize(c);
        iloc.setOffsetSize(d);
        ItemLocationBox.Extent e1 = iloc.createExtent(123, 124, 125);
        ByteBuffer bb = ByteBuffer.allocate(e1.getSize());
        e1.getContent(bb);
        Assert.assertTrue(bb.remaining() == 0);
        bb.rewind();
        ItemLocationBox.Extent e2 = iloc.createExtent(bb);

        Assert.assertEquals(e1, e2);


    
public voidtestItem(int a, int b, int c, int d)

        ItemLocationBox iloc = new ItemLocationBox();
        iloc.setVersion(1);
        iloc.setBaseOffsetSize(a);
        iloc.setIndexSize(b);
        iloc.setLengthSize(c);
        iloc.setOffsetSize(d);
        ItemLocationBox.Item e1 = iloc.createItem(65, 1, 0, 66, Collections.<ItemLocationBox.Extent>emptyList());
        ByteBuffer bb = ByteBuffer.allocate(e1.getSize());
        e1.getContent(bb);
        Assert.assertTrue(bb.remaining() == 0);
        bb.rewind();
        ItemLocationBox.Item e2 = iloc.createItem(bb);

        Assert.assertEquals(e1, e2);


    
public voidtestItem()

        testItem(1, 2, 4, 8);
        testItem(2, 4, 8, 1);
        testItem(4, 8, 1, 2);
        testItem(8, 1, 2, 4);
    
public voidtestItemVersionZero()

        testItemVersionZero(1, 2, 4, 8);
        testItemVersionZero(2, 4, 8, 1);
        testItemVersionZero(4, 8, 1, 2);
        testItemVersionZero(8, 1, 2, 4);
    
public voidtestItemVersionZero(int a, int b, int c, int d)

        ItemLocationBox iloc = new ItemLocationBox();
        iloc.setVersion(0);
        iloc.setBaseOffsetSize(a);
        iloc.setIndexSize(b);
        iloc.setLengthSize(c);
        iloc.setOffsetSize(d);
        ItemLocationBox.Item e1 = iloc.createItem(65, 0, 1, 66, Collections.<ItemLocationBox.Extent>emptyList());
        ByteBuffer bb = ByteBuffer.allocate(e1.getSize());
        e1.getContent(bb);
        Assert.assertTrue(bb.remaining() == 0);
        bb.rewind();
        ItemLocationBox.Item e2 = iloc.createItem(bb);

        Assert.assertEquals(e1, e2);


    
public voidtestSimpleRoundTrip()


    
         
        for (int i : v) {
            for (int i1 : v) {
                for (int i2 : v) {
                    for (int i3 : v) {
                        testSimpleRoundTrip(i, i1, i2, i3);
                    }
                }
            }
        }

    
public voidtestSimpleRoundTrip(int baseOffsetSize, int indexSize, int lengthSize, int offsetSize)

        ItemLocationBox ilocOrig = new ItemLocationBox();
        ilocOrig.setVersion(1);
        ilocOrig.setBaseOffsetSize(baseOffsetSize);
        ilocOrig.setIndexSize(indexSize);
        ilocOrig.setLengthSize(lengthSize);
        ilocOrig.setOffsetSize(offsetSize);
        ByteBuffer bb = ByteBuffer.allocate(l2i(ilocOrig.getSize()));
        ilocOrig.getBox(new ByteBufferByteChannel(bb));
        Assert.assertTrue(bb.remaining() == 0);
        bb.rewind();

        IsoFile isoFile = new IsoFile(new ByteBufferByteChannel(bb));

        ItemLocationBox iloc = (ItemLocationBox) isoFile.getBoxes().get(0);

        Assert.assertEquals(ilocOrig.getBaseOffsetSize(), iloc.getBaseOffsetSize());
        Assert.assertEquals(ilocOrig.getContentSize(), iloc.getContentSize());
        Assert.assertEquals(ilocOrig.getIndexSize(), iloc.getIndexSize());
        Assert.assertEquals(ilocOrig.getLengthSize(), iloc.getLengthSize());
        Assert.assertEquals(ilocOrig.getOffsetSize(), iloc.getOffsetSize());
        Assert.assertEquals(ilocOrig.getItems(), iloc.getItems());


    
public voidtestSimpleRoundWithEntriesAndExtentsTrip()

        for (int i : v) {
            for (int i1 : v) {
                for (int i2 : v) {
                    for (int i3 : v) {
                        testSimpleRoundWithEntriesAndExtentsTrip(i, i1, i2, i3);
                    }
                }
            }
        }
    
public voidtestSimpleRoundWithEntriesAndExtentsTrip(int baseOffsetSize, int indexSize, int lengthSize, int offsetSize)

        ItemLocationBox ilocOrig = new ItemLocationBox();
        ilocOrig.setVersion(1);
        ilocOrig.setBaseOffsetSize(baseOffsetSize);
        ilocOrig.setIndexSize(indexSize);
        ilocOrig.setLengthSize(lengthSize);
        ilocOrig.setOffsetSize(offsetSize);
        List<ItemLocationBox.Extent> extents = new LinkedList<ItemLocationBox.Extent>();
        ItemLocationBox.Extent extent = ilocOrig.createExtent(12, 13, 1);
        extents.add(extent);
        ItemLocationBox.Item item = ilocOrig.createItem(12, 0, 13, 123, extents);
        ilocOrig.setItems(Collections.singletonList(item));
        ByteBuffer bb = ByteBuffer.allocate(l2i(ilocOrig.getSize()));
        ilocOrig.getBox(new ByteBufferByteChannel(bb));

        bb.rewind();

        IsoFile isoFile = new IsoFile(new ByteBufferByteChannel(bb));

        ItemLocationBox iloc = (ItemLocationBox) isoFile.getBoxes().get(0);

        Assert.assertEquals(ilocOrig.getBaseOffsetSize(), iloc.getBaseOffsetSize());
        Assert.assertEquals(ilocOrig.getContentSize(), iloc.getContentSize());
        Assert.assertEquals(ilocOrig.getIndexSize(), iloc.getIndexSize());
        Assert.assertEquals(ilocOrig.getLengthSize(), iloc.getLengthSize());
        Assert.assertEquals(ilocOrig.getOffsetSize(), iloc.getOffsetSize());
        Assert.assertEquals(ilocOrig.getItems(), iloc.getItems());


    
public voidtestSimpleRoundWithEntriesTrip()

        for (int i : v) {
            for (int i1 : v) {
                for (int i2 : v) {
                    for (int i3 : v) {
                        testSimpleRoundWithEntriesTrip(i, i1, i2, i3);
                    }
                }
            }
        }
    
public voidtestSimpleRoundWithEntriesTrip(int baseOffsetSize, int indexSize, int lengthSize, int offsetSize)

        ItemLocationBox ilocOrig = new ItemLocationBox();
        ilocOrig.setVersion(1);
        ilocOrig.setBaseOffsetSize(baseOffsetSize);
        ilocOrig.setIndexSize(indexSize);
        ilocOrig.setLengthSize(lengthSize);
        ilocOrig.setOffsetSize(offsetSize);
        ItemLocationBox.Item item = ilocOrig.createItem(12, 0, 13, 123, Collections.<ItemLocationBox.Extent>emptyList());
        ilocOrig.setItems(Collections.singletonList(item));
        ByteBuffer bb = ByteBuffer.allocate(l2i(ilocOrig.getSize()));
        ilocOrig.getBox(new ByteBufferByteChannel(bb));

        bb.rewind();

        IsoFile isoFile = new IsoFile(new ByteBufferByteChannel(bb));

        ItemLocationBox iloc = (ItemLocationBox) isoFile.getBoxes().get(0);

        Assert.assertEquals(ilocOrig.getBaseOffsetSize(), iloc.getBaseOffsetSize());
        Assert.assertEquals(ilocOrig.getContentSize(), iloc.getContentSize());
        Assert.assertEquals(ilocOrig.getIndexSize(), iloc.getIndexSize());
        Assert.assertEquals(ilocOrig.getLengthSize(), iloc.getLengthSize());
        Assert.assertEquals(ilocOrig.getOffsetSize(), iloc.getOffsetSize());
        Assert.assertEquals(ilocOrig.getItems(), iloc.getItems());