using ClosedXML.Excel;
using NUnit.Framework;
using System.Globalization;
using System.IO;
using System.Threading;
namespace ClosedXML_Tests.Excel.Saving
{
[TestFixture]
public class SavingTests
{
[Test]
public void CanSaveEmptyFile()
{
using (var ms = new MemoryStream())
using (var wb = new XLWorkbook())
{
wb.AddWorksheet("Sheet1");
wb.SaveAs(ms);
}
}
[Test]
public void CanSuccessfullySaveFileMultipleTimes()
{
using (var wb = new XLWorkbook())
{
var sheet = wb.Worksheets.Add("TestSheet");
// Comments might cause duplicate VmlDrawing Id's - ensure it's tested:
sheet.Cell(1, 1).Comment.AddText("abc");
var memoryStream = new MemoryStream();
wb.SaveAs(memoryStream, true);
for (int i = 1; i <= 3; i++)
{
sheet.Cell(i, 1).Value = "test" + i;
wb.SaveAs(memoryStream, true);
}
memoryStream.Close();
memoryStream.Dispose();
}
}
[Test]
public void CanSaveAndValidateFileInAnotherCulture()
{
string[] cultures = new string[] { "it", "de-AT" };
foreach (var culture in cultures)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(culture);
using (var wb = new XLWorkbook())
{
var memoryStream = new MemoryStream();
var ws = wb.Worksheets.Add("Sheet1");
wb.SaveAs(memoryStream, true);
}
}
}
}
}