private void ClickDecode(object sender, EventArgs e) { var fileInfoEncodedFile = new FileInfo(textBoxFilePathEncodedFile.Text); if (!fileInfoEncodedFile.Exists) { throw new InvalidOperationException($"Huffman decoding error: file '{fileInfoEncodedFile.FullName}' does not exist"); } var encodedFileExtension = GetExtensionOfEncodedFile(fileInfoEncodedFile); var decodedFileDestinationPath = $"{fileInfoEncodedFile.FullName}.{DateTime.Now:dd-MM-yyyy-hh-mm}.{encodedFileExtension}"; using (var fileReader = new FileReader(textBoxFilePathEncodedFile.Text, new Buffer())) { using (var fileWriter = new FileWriter(decodedFileDestinationPath, new Buffer())) { huffmanDecoder.DecodeFile(fileReader, fileWriter); } } if (checkBoxShowCodesFromDecoding.Checked) { DisplayEncodedBytes(huffmanDecoder.EncodedBytesFromPreviousRun); } }
public void ImageIsEncodedThenDecodedCorrectly() { using (var fileReader = new FileReader(filePathSource, new Buffer())) { using (var fileWriter = new FileWriter(filePathEncodedFile, new Buffer())) { huffmanEncoder.EncodeFile(fileReader, fileWriter); fileWriter.Buffer.Flush(); } } using (var fileReader = new FileReader(filePathEncodedFile, new Buffer())) { using (var fileWriter = new FileWriter(filePathDecodedFile, new Buffer())) { huffmanDecoder.DecodeFile(fileReader, fileWriter); } } Assert.IsTrue(TestMethods.FilesHaveTheSameContent(filePathSource, filePathDecodedFile)); }
public void DecodeFileThrowsArgumentNullExceptionForNullFileReader() { huffmanDecoder.DecodeFile(null, fileWriterMock.Object); }