public void InterfaceEquals_SameResultAsConcreteEquals_True() { var header1 = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Zlib); var header2 = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Zlib); Assert.AreEqual(header1.Equals(header2), ((IMS2FileHeader)header1).Equals(header2)); }
public async Task Write_Data_EqualsTrue() { MS2FileHeader expectedHeader = new MS2FileHeader(1, 2, 3, 4, 5, CompressionType.Zlib); var obj = new MS2FileHeaderMS2F(); using var ms = new MemoryStream(); await obj.WriteAsync(ms, expectedHeader); ms.Position = 0; using var br = new BinaryReader(ms); uint unk = br.ReadUInt32(); uint id = br.ReadUInt32(); var compressionType = (CompressionType)br.ReadInt64(); long offset = br.ReadInt64(); long encodedSize = br.ReadInt64(); long compressedSize = br.ReadInt64(); long size = br.ReadInt64(); var actualUnk = unk; var actualHeader = new MS2FileHeader(encodedSize, compressedSize, size, id, offset, compressionType); Assert.AreEqual(0u, actualUnk); Assert.AreEqual(expectedHeader, actualHeader); }
public void GetHashCode_DifferentValues_False() { var notExpected = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Zlib); var actual = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 6, CompressionType.Zlib); Assert.AreNotEqual(notExpected.GetHashCode(), actual.GetHashCode()); }
public void Equals_SameReference_True() { var expected = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Zlib); var actual = expected; Assert.AreEqual(expected, actual); }
public void GetHashCode_SameValues_True() { var expected = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Zlib); var actual = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Zlib); Assert.AreEqual(expected.GetHashCode(), actual.GetHashCode()); }
public void Equals_SameValuesDifferentCompressionType_False() { var notExpected = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Zlib); var actual = new MS2FileHeader(new MS2SizeHeader(1, 2, 3), 4, 5, CompressionType.Png); Assert.AreNotEqual(notExpected, actual); }
public void Dispose_EncapsulatedMemoryMappedFile_DoesNotThrowObjectDisposedException() { var expectedBytes = new byte[] { 0x30, 0x60 }; var archiveMock = new Mock <IMS2Archive>(MockBehavior.Strict); var mappedFile = MemoryMappedFile.CreateNew(nameof(Dispose_EncapsulatedMemoryMappedFile_DoesNotThrowObjectDisposedException), expectedBytes.Length, MemoryMappedFileAccess.ReadWrite, MemoryMappedFileOptions.None, HandleInheritability.None); var info = new MS2FileInfo("1", "testfile"); var header = new MS2FileHeader(expectedBytes.Length, 1, 0); var file = new MS2File(archiveMock.Object, mappedFile, info, header, false); file.Dispose(); mappedFile.CreateViewAccessor(); }
public void Dispose_EncapsulatedStream_ThrowsObjectDisposedException() { var expectedBytes = new byte[] { 0x30, 0x60 }; var archiveMock = new Mock <IMS2Archive>(MockBehavior.Strict); var stream = new MemoryStream(expectedBytes); var info = new MS2FileInfo("1", "testfile"); var header = new MS2FileHeader(expectedBytes.Length, 1, 0); var file = new MS2File(archiveMock.Object, stream, info, header, false); file.Dispose(); stream.ReadByte(); }
public async Task Dispose_GetStreamForArchivingAsync_ThrowsObjectDisposedException() { var expectedBytes = new byte[] { 0x30, 0x60 }; var archiveMock = new Mock <IMS2Archive>(MockBehavior.Strict); var stream = new MemoryStream(expectedBytes); var info = new MS2FileInfo("1", "testfile"); var header = new MS2FileHeader(expectedBytes.Length, 1, 0); var file = new MS2File(archiveMock.Object, stream, info, header, false); file.Dispose(); await file.GetStreamForArchivingAsync(); }
public async Task Read_FromWrite_EqualsTrue() { MS2FileHeader expectedHeader = new MS2FileHeader(1, 2, 3, 4, 5, CompressionType.Zlib); var obj = new MS2FileHeaderMS2F(); using var ms = new MemoryStream(); await obj.WriteAsync(ms, expectedHeader); ms.Position = 0; var actualHeader = await obj.ReadAsync(ms); Assert.AreEqual(expectedHeader, actualHeader); }
public Task <IMS2FileHeader> ReadAsync(Stream stream) { using var br = new BinaryReader(stream, Encoding.ASCII, true); var compressionType = (CompressionType)br.ReadUInt32(); uint id = br.ReadUInt32(); uint encodedSize = br.ReadUInt32(); long compressedSize = br.ReadInt64(); long size = br.ReadInt64(); long offset = br.ReadInt64(); IMS2FileHeader fileHeader = new MS2FileHeader(encodedSize, compressedSize, size, id, offset, compressionType); return(Task.FromResult(fileHeader)); }
public Task <IMS2FileHeader> ReadAsync(Stream stream) { using var br = new BinaryReader(stream, Encoding.ASCII, true); uint unk = br.ReadUInt32(); // TODO: unknown/unused? uint id = br.ReadUInt32(); var compressionType = (CompressionType)br.ReadInt64(); long offset = br.ReadInt64(); long encodedSize = br.ReadInt64(); long compressedSize = br.ReadInt64(); long size = br.ReadInt64(); Debug.Assert(unk == 0, "unk is not 0. unk=" + unk); IMS2FileHeader fileHeader = new MS2FileHeader(encodedSize, compressedSize, size, id, offset, compressionType); return(Task.FromResult(fileHeader)); }
public async Task Read_Stream_EqualsTrue() { MS2FileHeader expectedHeader = new MS2FileHeader(1, 2, 3, 4, 5, CompressionType.Zlib); using var ms = new MemoryStream(); using var bw = new BinaryWriter(ms); bw.Write((uint)expectedHeader.CompressionType); bw.Write(expectedHeader.Id); bw.Write((uint)expectedHeader.Size.EncodedSize); bw.Write(expectedHeader.Size.CompressedSize); bw.Write(expectedHeader.Size.Size); bw.Write(expectedHeader.Offset); ms.Position = 0; var obj = new MS2FileHeaderNS2F(); var actualHeader = await obj.ReadAsync(ms); Assert.AreEqual(expectedHeader, actualHeader); }