blob: 369e55a6e5df2d5d4c121f43c7dd5c6f7118ec0a [file] [log] [blame]
using System.IO;
using System.Linq;
using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OfficeOpenXml;
using OfficeOpenXml.DataValidation;
namespace NetCoreTests;
[TestClass]
public class ExcelPackageTest {
[TestMethod]
public void TestGetAsByteArray() {
var package = new ExcelPackage(new FileInfo(GetTestWorkbookPath("Times.xlsx")));
var data = package.GetAsByteArray();
// Verify that we can reload
var newPackage = new ExcelPackage(new MemoryStream(data, false));
newPackage.Workbook.Worksheets.Count.Should().Be(1);
var worksheet = newPackage.Workbook.Worksheets.First();
worksheet.Name.Should().Be("Times_csv");
}
[TestMethod]
public void TestGetAsByteArray_PublicLibrary() {
var package = new ExcelPackage(new FileInfo(GetTestWorkbookPath("PublicLibrary.xlsx")));
var data = package.GetAsByteArray();
// Verify that we can reload
var newPackage = new ExcelPackage(new MemoryStream(data, false));
newPackage.Workbook.Worksheets.Count.Should().Be(1);
var worksheet = newPackage.Workbook.Worksheets.First();
worksheet.Name.Should().Be("pusum11a");
}
[TestMethod]
public void TestGetAsByteArray_DataValidation() {
var package = new ExcelPackage(new FileInfo(GetTestWorkbookPath("DataValidation.xlsx")));
var data = package.GetAsByteArray();
// Verify that we can reload
var newPackage = new ExcelPackage(new MemoryStream(data, false));
newPackage.Workbook.Worksheets.Count.Should().Be(1);
var worksheet = newPackage.Workbook.Worksheets.First();
worksheet.Name.Should().Be("Sheet1");
worksheet.DataValidations.Should().HaveCount(31);
worksheet.DataValidations[1].ValidationType.Should().Be(ExcelDataValidationType.Whole);
}
private static string GetTestWorkbookPath(string filename) {
var assemblyPath = Path.GetDirectoryName(typeof(ExcelPackageTest).Assembly.Location)!;
return Path.Combine(assemblyPath, "TestWorkbooks", filename);
}
}