using RhSolutions.AddIn; namespace RhSolutions.Tests; [ExcelTestSettings(OutOfProcess = true)] public class CanFillSleeves : IDisposable { private RhSolutionsAddIn _addIn; private IFittingsCalculator _calculator; private IReader _reader; private IWriter _writer; private Worksheet _worksheet; public CanFillSleeves() { _addIn = new(); _addIn.AutoOpen(); _calculator = new SleevesCalculator(); _reader = new ExcelReader(Util.Application, RhSolutionsAddIn.Configuration); _writer = new CurrentPriceWriter(Util.Application, RhSolutionsAddIn.Configuration); _worksheet = Util.Workbook.Worksheets[1]; } [ExcelFact(Workbook = @"..\..\..\TestWorkbooks\TestSpecificationSleeves.xlsx")] public void CanCalculateSleeves() { var products = _reader.ReadProducts(new[] { _worksheet }); var sleeves = _calculator.Calculate(products.First().Item2); _writer.WriteProducts(sleeves); Assert.Equal(25, _worksheet.Range["E2"].Value); Assert.Equal(15, _worksheet.Range["E3"].Value); Assert.Equal(7, _worksheet.Range["E4"].Value); Assert.Equal(8, _worksheet.Range["E5"].Value); Assert.Equal(1, _worksheet.Range["E6"].Value); Assert.Equal(3, _worksheet.Range["E7"].Value); Assert.Equal(4, _worksheet.Range["E8"].Value); } public void Dispose() { _addIn.AutoClose(); } }