blob: 77a5c6b1ac7da220690647c57af90664f58ac156 [file] [log] [blame]
using System.IO;
using System.Linq;
using AppsheetEpplus;
using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
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);
}
}