public async Task Save_ThreeFilesCompressedToFile_DataEqualsExpected() { const string FileName = nameof(Save_ThreeFilesToFile_DataEqualsExpected); string headerPath = FileName + HeaderFileExtension; string dataPath = FileName + DataFileExtension; string input = "inputdata123" + nameof(Save_ThreeFilesToFile_DataEqualsExpected); string encryptedInput = "encrypteddata654" + nameof(Save_ThreeFilesToFile_DataEqualsExpected); var sbExpected = new StringBuilder(); var sizeMock = CreateSizeMock(20, 30, 40); MS2CryptoMode cryptoMode = (MS2CryptoMode)12345; IMS2ArchiveCryptoRepository repo = new FakeCryptoRepository(cryptoMode, EncodingTest, input, encryptedInput, sizeMock.Object); const int fileCount = 3; var archive = MS2Archive.GetArchiveMS2F(); for (uint i = 1; i <= fileCount; i++) { sbExpected.Append(input); AddDataStringToArchive(archive, input, encryptedInput, sizeMock, i, "file" + i, CompressionType.Zlib); } await archive.SaveAsync(headerPath, dataPath); using var fsData = File.OpenRead(dataPath); StringBuilder sbActual = new StringBuilder(); for (uint i = 1; i <= fileCount; i++) { string actual = await StreamToString(await repo.GetDecryptionStreamAsync(fsData, sizeMock.Object, false)); sbActual.Append(actual); } Assert.AreEqual(sbExpected.ToString(), sbActual.ToString()); }
private static IMS2Archive CreateArchiveMS2F() => MS2Archive.GetArchiveMS2F();