public void ReadRectTest() { var etalon = new SwfRect { XMin = 0, XMax = 11000, YMin = 0, YMax = 8000 }; var mem = new MemoryStream(new byte[] { 0x78, 0x00, 0x05, 0x5f, 0x00, 0x00, 0x0f, 0xa0, 0x00 }); var reader = new SwfStreamReader(mem); SwfRect rect = reader.ReadRect(); Assert.IsTrue(AreEqual(etalon, rect)); Assert.AreEqual(mem.Length, mem.Position); }
public void ReadRectTest2() { var etalon = new SwfRect { XMin = 0x004, XMax = 0x48f, YMin = 0x008, YMax = 0x0ee }; var mem = new MemoryStream(); WriteBits(mem, "01100", "0000.00000100", "0100.10001111", "0000.00001000", "0000.11101110"); var reader = new SwfStreamReader(mem); SwfRect rect = reader.ReadRect(); Assert.IsTrue(AreEqual(etalon, rect)); Assert.AreEqual(mem.Length, mem.Position); }
public void ReadRectMustBeByteAlignedTest() { var etalon = new SwfRect { XMin = 0, XMax = 11000, YMin = 0, YMax = 8000 }; var mem = new MemoryStream(new byte[] { 0x78, 0x00, 0x05, 0x5f, 0x00, 0x00, 0x0f, 0xa0, 0x00, 0xb3 }); var reader = new SwfStreamReader(mem); SwfRect rect = reader.ReadRect(); Assert.IsTrue(AreEqual(etalon, rect)); var tail = reader.ReadUnsignedBits(8); Assert.AreEqual(0xb3, tail); Assert.AreEqual(mem.Length, mem.Position); }