RhSolutions-AddIn/RhSolutions.Tests/CanDoMagic.cs

45 lines
1.7 KiB
C#
Raw Normal View History

2023-05-22 08:05:44 +03:00
using Microsoft.Extensions.DependencyInjection;
using RhSolutions.AddIn;
using System.IO;
namespace RhSolutions.Tests;
[ExcelTestSettings(OutOfProcess = true)]
public class CanDoMagic : IDisposable
{
private RhSolutionsAddIn _addIn;
2023-05-22 10:24:18 +03:00
//private ReaderFactory _readerFactory;
2023-05-22 08:05:44 +03:00
private IReader _reader;
public CanDoMagic()
{
_addIn = new();
_addIn.AutoOpen();
2023-05-22 10:24:18 +03:00
//_readerFactory = RhSolutionsAddIn.ServiceProvider.GetRequiredService<ReaderFactory>();
_reader = new MagicReader(Util.Application);
2023-05-22 08:05:44 +03:00
}
[ExcelFact(Workbook = @"..\..\..\TestWorkbooks\TestSpecificationMagic.xlsx")]
public void CanWrite()
{
Worksheet sourceSheet = Util.Workbook.Worksheets[1];
RhSolutionsAddIn.Configuration.SetPriceListPath(Path.GetFullPath(@"..\..\..\TestWorkbooks\TargetSpecificationMagic.xlsx"));
var products = _reader.ReadProducts(new[] { sourceSheet });
var _writer = new ExcelWriter(Util.Application, RhSolutionsAddIn.Configuration);
_writer.WriteProducts(products);
Worksheet targetSheet = Util.Application.ActiveWindow.ActiveSheet;
var targetProducts = _reader.ReadProducts(new[] { targetSheet });
Assert.Equal("TestSpecificationMagic", products.First().Item1);
Assert.Equal("TargetSpecificationMagic", targetProducts.First().Item1);
Assert.Equal(products.First().Item2.Count(), targetProducts.First().Item2.Count());
Assert.Equal(products.First().Item2.Values.Sum(), targetProducts.First().Item2.Values.Sum());
}
public void Dispose()
{
_addIn.AutoClose();
Util.Application.ActiveWindow.Close(SaveChanges: false);
}
}