RhSolutions-AddIn/RhSolutions.Tests/RealPricelistTest.cs

42 lines
1.4 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using RhSolutions.AddIn;
using System.IO;
namespace RhSolutions.Tests;
[ExcelTestSettings(OutOfProcess = true)]
public class RealPricelistTest : IDisposable
{
private RhSolutionsAddIn _addIn;
private IReader _reader;
public RealPricelistTest()
{
_addIn = new();
_addIn.AutoOpen();
_reader = new ExcelReader(Util.Application, RhSolutionsAddIn.Configuration);
}
[ExcelFact(Workbook = @"..\..\..\TestWorkbooks\RealTestSpecification.xlsm")]
public void CanWrite()
{
Worksheet sourceSheet = Util.Workbook.Worksheets[1];
RhSolutionsAddIn.Configuration.SetPriceListPath(Path.GetFullPath(@"..\..\..\TestWorkbooks\RealTargetSpecification.xlsx"));
var products = _reader.ReadProducts(new[] { sourceSheet });
var _writer = new NewPriceWriter(Util.Application, RhSolutionsAddIn.Configuration);
_writer.WriteProducts(products);
Worksheet targetSheet = Util.Application.ActiveWindow.ActiveSheet;
targetSheet.Range["A1"].Formula = "=SUM(H:H)";
Assert.Equal("RealTestSpecification", products.First().Item1);
Assert.Equal("RealTargetSpecification.xlsx", Util.Application.ActiveWorkbook.Name);
Assert.Equal(1188.0, targetSheet.Range["A1"].Value);
}
public void Dispose()
{
_addIn.AutoClose();
Util.Application.ActiveWindow.Close(SaveChanges: false);
}
}