public void CreateDragonTapeHeaderBlock_MacineCodeProgram() { var filename = "BARBAR"; var filetype = DragonFileType.MachineCode; var isAscii = false; var isGapped = false; var loadAddress = 10000; var startAddress = 50000; var payload = new byte[] { 66, 65, 82, 66, 65, 82, 32, 32, 2, 0, 0, 195, 80, 39, 16 }; var block = new DragonTapeHeaderBlock(filename, filetype, isAscii, isGapped, loadAddress, startAddress); Assert.Equal(DragonTapeBlockType.Header, block.BlockType); Assert.Equal(filename, block.Filename); Assert.Equal(filetype, block.FileType); Assert.Equal(isAscii, block.IsAscii); Assert.Equal(isGapped, block.IsGapped); Assert.Equal(loadAddress, block.LoadAddress); Assert.Equal(startAddress, block.StartAddress); Assert.Equal(payload.Length, block.Length); var data = block.Data; for (int i = 0; i < data.Length; i++) { Assert.Equal(payload[i], data[i]); } Assert.Equal(0x45, block.Checksum); block.Validate(); }
public void CreateDragonTapeHeaderBlock_BasicProgram() { var filename = "FOOBAR"; var filetype = DragonFileType.Basic; var isAscii = true; var isGapped = false; var loadAddress = 0; var startAddress = 0; var payload = new byte[] { 70, 79, 79, 66, 65, 82, 32, 32, 0, 255, 0, 0, 0, 0, 0 }; var block = new DragonTapeHeaderBlock(filename, filetype, isAscii, isGapped, loadAddress, startAddress); Assert.Equal(DragonTapeBlockType.Header, block.BlockType); Assert.Equal(filename, block.Filename); Assert.Equal(filetype, block.FileType); Assert.Equal(isAscii, block.IsAscii); Assert.Equal(isGapped, block.IsGapped); Assert.Equal(loadAddress, block.LoadAddress); Assert.Equal(startAddress, block.StartAddress); Assert.Equal(payload.Length, block.Length); var data = block.Data; for (int i = 0; i < data.Length; i++) { Assert.Equal(payload[i], data[i]); } Assert.Equal(0x07, block.Checksum); block.Validate(); }