Пример #1
0
  public void testExtent(int a, int b, int c, int d) throws IOException {
    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);
  }
Пример #2
0
  public void testSimpleRoundWithEntriesAndExtentsTrip(
      int baseOffsetSize, int indexSize, int lengthSize, int offsetSize) throws IOException {
    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());
  }