aboutsummaryrefslogtreecommitdiff
path: root/RhSolutions.Tests/CanFillCouplings.cs
blob: 5a57c3283fc43285b8689bd1e396b67a49aa15f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using RhSolutions.AddIn;

namespace RhSolutions.Tests;

[ExcelTestSettings(OutOfProcess = true)]
public class CanFillCouplings : IDisposable
{
    private RhSolutionsAddIn _addIn;
    private IFittingsCalculator _calculator;
    private IReader _reader;
    private IWriter _writer;
    private Worksheet _worksheet;

    public CanFillCouplings()
    {
        Environment.SetEnvironmentVariable("ISTESTING", "true");
        _addIn = new();
        _addIn.AutoOpen();
        _calculator = new CouplingsCalculator();
        _reader = new ExcelReader(Util.Application, RhSolutionsAddIn.Configuration);
        _writer = new CurrentPriceWriter(Util.Application, RhSolutionsAddIn.Configuration);
        _worksheet = Util.Workbook.Worksheets[1];
    }

    [ExcelFact(Workbook = @"..\..\..\TestWorkbooks\TestSpecificationCouplings.xlsx")]
    public void CanCalculateSleeves()
    {
        var products = _reader.ReadProducts(new[] { _worksheet });
        var couplings = _calculator.Calculate(products.First().Item2);
        _writer.WriteProducts(couplings);

        Assert.Equal(7, _worksheet.Range["E2"].Value);
        Assert.Equal(1, _worksheet.Range["E3"].Value);
        Assert.Equal(1, _worksheet.Range["E5"].Value);
        Assert.Equal(1, _worksheet.Range["E7"].Value);
    }

    public void Dispose()
    {
        _addIn.AutoClose();
    }
}