From de73af8b7d10fe67aca2eac38e415a76d3d35350 Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Sun, 21 May 2023 15:17:49 +0300 Subject: [PATCH] Add Replaced Writing Test --- RhSolutions.Tests/CanWriteProducts.cs | 17 +++++++++++++++++ .../TargetSpecificationReplaced.xlsx | Bin 0 -> 9351 bytes .../TestSpecificationReplaced.xlsx | Bin 0 -> 9174 bytes 3 files changed, 17 insertions(+) create mode 100644 RhSolutions.Tests/TestWorkbooks/TargetSpecificationReplaced.xlsx create mode 100644 RhSolutions.Tests/TestWorkbooks/TestSpecificationReplaced.xlsx diff --git a/RhSolutions.Tests/CanWriteProducts.cs b/RhSolutions.Tests/CanWriteProducts.cs index 9280d5f..c89bb71 100644 --- a/RhSolutions.Tests/CanWriteProducts.cs +++ b/RhSolutions.Tests/CanWriteProducts.cs @@ -67,7 +67,24 @@ public class CanWriteProducts : IDisposable Assert.Contains("15555551555", targetSheet.Range["C4"].Value2); } + [ExcelFact(Workbook = @"..\..\..\TestWorkbooks\TestSpecificationReplaced.xlsx")] + public void CanWriteReplaced() + { + Worksheet sourceSheet = Util.Workbook.Worksheets[1]; + RhSolutionsAddIn.Configuration.SetPriceListPath(Path.GetFullPath(@"..\..\..\TestWorkbooks\TargetSpecificationReplaced.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("TestSpecificationReplaced", products.First().Item1); + Assert.Equal("TargetSpecificationReplaced", targetProducts.First().Item1); + Assert.Single(targetProducts.First().Item2); + var product = targetProducts.First().Item2.First().Key; + Assert.Contains("Молот Тора", product.Name); + Assert.Contains("15555551555", product.Name); + } public void Dispose() { diff --git a/RhSolutions.Tests/TestWorkbooks/TargetSpecificationReplaced.xlsx b/RhSolutions.Tests/TestWorkbooks/TargetSpecificationReplaced.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..af7d045f6fbe3196997f39b4963d8c4415a2254e GIT binary patch literal 9351 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

&$MYskp^`M3G%ZhQuP<44&i!EAqxa;PuJc8S=V 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 b1pj?+RFHuIuPy-a0{rm->-O2JpTGVOg1cWx literal 0 HcmV?d00001 diff --git a/RhSolutions.Tests/TestWorkbooks/TestSpecificationReplaced.xlsx b/RhSolutions.Tests/TestWorkbooks/TestSpecificationReplaced.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7900714ce7d501375adb5b24c5307d6cfac8d1a0 GIT binary patch literal 9174 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 He*F4BTt5lE literal 0 HcmV?d00001