Add testing compression method.

This commit is contained in:
Lunastra 2021-12-14 22:24:28 -08:00
parent 03cfb10c10
commit 6689b91e70
2 changed files with 28 additions and 2 deletions

View File

@ -155,8 +155,10 @@ namespace TeamHobby.HobbyProjectGenerator.DataAccess
// Check to see if the file is hidden or already compressed before compressing the file.
if (atrribute != FileAttributes.Hidden && atrribute != FileAttributes.Compressed)
{
using FileStream outputFile = File.Create(fileName + ".gz");
var compFileName = Path.ChangeExtension(fileName, ".gz");
//using FileStream outputFile = File.Create(fileName + ".gz");
using FileStream outputFile = File.Create(compFileName);
using GZipStream compressor = new GZipStream(outputFile, CompressionMode.Compress);
origFile.CopyTo(compressor);

View File

@ -174,5 +174,29 @@ namespace TeamHobby.Archiving.xTests
bool actualVal = File.Exists(filepath);
Assert.Equal(expectedVal, actualVal);
}
[Fact]
public void IsFileCompressed()
{
// Arrange
SqlDAO sqlDAO = new SqlDAO(dbInfo);
ArchiveManager archiveManager = new ArchiveManager(sqlDAO);
// Create the folder and the csv file to be compressed.
archiveManager.CreateArchiveFolder();
string filePath = archiveManager.CreateOutFileName();
sqlDAO.CopyToFile(filePath);
FileAttributes expectedAttribute = FileAttributes.Archive;
string compFilePath = Path.ChangeExtension(filePath, ".gz");
// Act
sqlDAO.CompressFile(filePath);
// Assert
FileAttributes actualAttribute = File.GetAttributes(compFilePath);
Assert.Equal(expectedAttribute, actualAttribute);
}
}
}