public void LuigiScrambleKeyBlock_Truncated_ThrowsEndOfStreamException() { var truncatedDataBlock = new byte[] { 0x00, 0x00, 0x01, 0x34, 0xCC, 0x44, 0xCC, 0x00, 0xDE, 0xAD, 0xBE, 0xEF }; using (var truncatedLuigiBlockStream = new MemoryStream(truncatedDataBlock)) { Assert.Throws <EndOfStreamException>(() => LuigiDataBlock.Inflate(truncatedLuigiBlockStream)); } }
public void LuigiDataBlock_DeserializeTruncatedPayloadBlock_ThrowsEndOfStreamException() { var truncatedDataBlock = new byte[] { (byte)LuigiTestDataBlock.BlockType, 0x01, 0x00, 0x77, 0x22, 0x33, 0x44, 0x55 }; using (var truncatedLuigiBlockStream = new MemoryStream(truncatedDataBlock)) { Assert.Throws <System.IO.EndOfStreamException>(() => LuigiDataBlock.Inflate(truncatedLuigiBlockStream)); } }
public void LuigiDataBlock_DeserializeTruncatedPayloadCrcBlock_ThrowsEndOfStreamException() { var truncatedDataBlock = new byte[] { 0x00, 0x01, 0x00, 0xe5, 0x22 }; using (var truncatedLuigiBlockStream = new MemoryStream(truncatedDataBlock)) { Assert.Throws <System.IO.EndOfStreamException>(() => LuigiDataBlock.Inflate(truncatedLuigiBlockStream)); } }
public void LuigiDataBlock_DeserializeEmptyBlock_ThrowsEndOfStreamException() { var truncatedDataBlock = new byte[0]; using (var truncatedLuigiBlockStream = new MemoryStream(truncatedDataBlock)) { Assert.Throws <System.IO.EndOfStreamException>(() => LuigiDataBlock.Inflate(truncatedLuigiBlockStream)); } }
public void LuigiDataBlock_DeserializeEmptyUnknownBlockType_ReturnsCorrectNumberOfBytes() { using (var fakeLuigiBlockData = new MemoryStream()) { fakeLuigiBlockData.WriteByte((byte)LuigiTestDataBlock.BlockType); // bogus block type fakeLuigiBlockData.WriteByte(0); fakeLuigiBlockData.WriteByte(0); // zero payload length var crc = Crc8.OfBlock(fakeLuigiBlockData.ToArray()); fakeLuigiBlockData.WriteByte(crc); fakeLuigiBlockData.Seek(0, SeekOrigin.Begin); var luigiDataBlock = LuigiDataBlock.Inflate(fakeLuigiBlockData); Assert.Equal(LuigiTestDataBlock.BlockType, luigiDataBlock.Type); Assert.Equal(crc, luigiDataBlock.HeaderCrc); Assert.Equal(0u, luigiDataBlock.PayloadCrc); } }
public void LuigiDataBlock_GetBlockTypeFromLuigiTestDataBlock_ReturnsUnknownBlockType() { var blockType = LuigiDataBlock.GetBlockType <LuigiTestDataBlock>(); Assert.Equal(LuigiDataBlockType.UnknownBlockType, blockType); }
public void LuigiDataBlock_GetBlockTypeFromLuigiEndOfFileBlock_ReturnsEndOfFile() { var blockType = LuigiDataBlock.GetBlockType <LuigiEndOfFileBlock>(); Assert.Equal(LuigiDataBlockType.EndOfFile, blockType); }
public void LuigiDataBlock_GetBlockTypeFromLuigiMetadataBlock_ReturnsMetadata() { var blockType = LuigiDataBlock.GetBlockType <LuigiMetadataBlock>(); Assert.Equal(LuigiDataBlockType.Metadata, blockType); }
public void LuigiDataBlock_GetBlockTypeFromLuigiDataHunkBlock_ReturnsDataHunk() { var blockType = LuigiDataBlock.GetBlockType <LuigiDataHunkBlock>(); Assert.Equal(LuigiDataBlockType.DataHunk, blockType); }
public void LuigiDataBlock_GetBlockTypeFromLuigiMemoryMapAndPermissionsTableBlock_ReturnsMemoryMapAndPermissionsTable() { var blockType = LuigiDataBlock.GetBlockType <LuigiMemoryMapAndPermissionsTableBlock>(); Assert.Equal(LuigiDataBlockType.MemoryMapAndPermissionsTable, blockType); }
public void LuigiDataBlock_GetBlockTypeFromLuigiScrambleKeyBlock_ReturnsSetScrambleKey() { var blockType = LuigiDataBlock.GetBlockType <LuigiScrambleKeyBlock>(); Assert.Equal(LuigiDataBlockType.SetScrambleKey, blockType); }
public void LuigiDataBlock_DeserializePayloadWithCorruptedPayloadCrc_ThrowsInvalidDataException() { var truncatedDataBlock = new byte[] { (byte)LuigiTestDataBlock.BlockType, 0x01, 0x00, 0x77, 0x44, 0x33, 0x22, 0x11, 0xee }; using (var truncatedLuigiBlockStream = new MemoryStream(truncatedDataBlock)) { var exception = Assert.Throws <System.IO.InvalidDataException>(() => LuigiDataBlock.Inflate(truncatedLuigiBlockStream)); var expectedMessage = string.Format(CultureInfo.CurrentCulture, Resources.Strings.InvalidDataBlockChecksumFormat, 0x4F48173D, 0x11223344); Assert.Equal(expectedMessage, exception.Message); } }