public void ReadReplayInfoTest(byte[] rawData) { using var stream = new MemoryStream(rawData); using var archive = new Unreal.Core.BinaryReader(stream); var reader = new MockReplayReader(); reader.ReadReplayInfo(archive); Assert.True(archive.AtEnd()); Assert.False(archive.IsError); }
public void ReadReplayInfoTest() { for (var i = 0; i < 2; i++) { var data = $"ReplayInfo/info{i}.dump"; using var stream = File.Open(data, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); using var archive = new Unreal.Core.BinaryReader(stream); var reader = new MockReplayReader(); reader.ReadReplayInfo(archive); Assert.True(archive.AtEnd()); } }
public void ReadReplayInfoThrowsOnWrongMagicTest() { byte[] rawData = { 0x7F, 0xE2, 0xA2, 0x10, 0x06, 0x00, 0x00, 0x00, 0x62, 0xD6, 0x01, 0x00 }; using var stream = new MemoryStream(rawData); using var archive = new Unreal.Core.BinaryReader(stream); var reader = new MockReplayReader(); var exception = Assert.Throws<InvalidReplayException>(() => reader.ReadReplayInfo(archive)); Assert.Equal("Invalid replay file", exception.Message); }
public void ReadReplayInfoThrowsOnCompletedButNoKeyTest() { byte[] rawData = { 0x7F, 0xE2, 0xA2, 0x1C, 0x06, 0x00, 0x00, 0x00, 0x62, 0xD6, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5A, 0x56, 0xB0, 0x00, 0xFA, 0xFF, 0xFF, 0xFF, 0x52, 0x00, 0x65, 0x00, 0x70, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2C, 0x9F, 0x35, 0x1F, 0xB6, 0xD7, 0x08, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; using var stream = new MemoryStream(rawData); using var archive = new Unreal.Core.BinaryReader(stream); var reader = new MockReplayReader(); var exception = Assert.Throws<InvalidReplayException>(() => reader.ReadReplayInfo(archive)); Assert.Equal("Completed replay is marked encrypted but has no key!", exception.Message); }