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);
 }
Пример #2
0
 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);
        }