2023-06-21 07:24:47 +03:00
|
|
|
|
using RhSolutions.AddIn;
|
|
|
|
|
|
|
|
|
|
namespace RhSolutions.Tests;
|
|
|
|
|
|
|
|
|
|
[ExcelTestSettings(OutOfProcess = true)]
|
|
|
|
|
public class CanFillSleeves : IDisposable
|
|
|
|
|
{
|
|
|
|
|
private RhSolutionsAddIn _addIn;
|
2023-11-02 23:07:06 +03:00
|
|
|
|
private IFittingsCalculator _calculator;
|
2023-06-21 07:24:47 +03:00
|
|
|
|
private IReader _reader;
|
|
|
|
|
private IWriter _writer;
|
|
|
|
|
private Worksheet _worksheet;
|
|
|
|
|
|
|
|
|
|
public CanFillSleeves()
|
|
|
|
|
{
|
2023-12-09 23:04:49 +03:00
|
|
|
|
Environment.SetEnvironmentVariable("ISTESTING", "true");
|
2023-06-21 07:24:47 +03:00
|
|
|
|
_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 });
|
2023-11-02 23:07:06 +03:00
|
|
|
|
var sleeves = _calculator.Calculate(products.First().Item2);
|
2023-06-21 07:24:47 +03:00
|
|
|
|
_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();
|
|
|
|
|
}
|
|
|
|
|
}
|