public void TestReadHeaderUshort() { StreamTester st = CreateStreamTester(0x50, "BA AD F0 0D 00", unchecked ((int)0x96C66829)); st.RollForward(0x0004, 0x03FF); Biff8DecryptingStream bds = st.GetBDS(); int hval = bds.ReadDataSize(); // unencrypted int nextInt = bds.ReadInt(); if (nextInt == unchecked ((int)0x8F534029)) { throw new AssertionException( "Indentified bug in key alignment After call to ReadHeaderUshort()"); } Assert.AreEqual(0x16885243, nextInt); if (hval == 0x283E) { throw new AssertionException("readHeaderUshort() incorrectly decrypted result"); } Assert.AreEqual(0x504F, hval); // confirm next key change st.RollForward(0x0405, 0x07FC); st.ConfirmInt(0x76CC1223); st.ConfirmInt(0x4842D83E); st.AssertNoErrors(); }
public void TestReadsAlignedWithBoundary() { StreamTester st = CreateStreamTester(0x50, "BA AD F0 0D 00", unchecked ((int)0x96C66829)); st.RollForward(0x0004, 0x03FF); st.ConfirmByte(0x3E); st.ConfirmByte(0x28); st.RollForward(0x0401, 0x07FE); st.ConfirmShort(0x76CC); st.ConfirmShort(0xD83E); st.RollForward(0x0802, 0x0BFC); st.ConfirmInt(0x25F280EB); st.ConfirmInt(unchecked ((int)0xB549E99B)); st.RollForward(0x0C04, 0x0FF8); st.ConfirmLong(0x6AA2D5F6B975D10CL); st.ConfirmLong(0x34248ADF7ED4F029L); // check for signed/unsigned shorts #58069 st.RollForward(0x1008, 0x7213); st.ConfirmUShort(0xFFFF); st.RollForward(0x7215, 0x1B9AD); st.ConfirmShort(-1); st.RollForward(0x1B9AF, 0x37D99); Assert.AreEqual(0xFFFF, st.ReadUShort()); st.RollForward(0x37D9B, 0x4A6F2); Assert.AreEqual(-1, st.ReadShort()); st.AssertNoErrors(); }
public void TestReadByteArrays() { StreamTester st = CreateStreamTester(0x50, "BA AD F0 0D 00", unchecked ((int)0x96C66829)); st.RollForward(0x0004, 0x2FFC); st.ConfirmData("66 A1 20 B1 04 A3 35 F5"); // 4 bytes on either side of boundary st.RollForward(0x3004, 0x33F8); st.ConfirmData("F8 97 59 36"); // last 4 bytes in block st.ConfirmData("01 C2 4E 55"); // first 4 bytes in next block st.AssertNoErrors(); }
public void TestReadsSpanningBoundary() { StreamTester st = CreateStreamTester(0x50, "BA AD F0 0D 00", unchecked ((int)0x96C66829)); st.RollForward(0x0004, 0x03FC); st.ConfirmLong(unchecked ((long)0x885243283E2A5EEFL)); st.RollForward(0x0404, 0x07FE); st.ConfirmInt(unchecked ((int)0xD83E76CC)); st.RollForward(0x0802, 0x0BFF); st.Confirmshort(0x9B25); st.AssertNoErrors(); }
public void TestReadsAlignedWithBoundary() { StreamTester st = CreateStreamTester(0x50, "BA AD F0 0D 00", unchecked ((int)0x96C66829)); st.RollForward(0x0004, 0x03FF); st.ConfirmByte(0x3E); st.ConfirmByte(0x28); st.RollForward(0x0401, 0x07FE); st.Confirmshort(0x76CC); st.Confirmshort(0xD83E); st.RollForward(0x0802, 0x0BFC); st.ConfirmInt(0x25F280EB); st.ConfirmInt(unchecked ((int)0xB549E99B)); st.RollForward(0x0C04, 0x0FF8); st.ConfirmLong(0x6AA2D5F6B975D10CL); st.ConfirmLong(0x34248ADF7ED4F029L); st.AssertNoErrors(); }