aboutsummaryrefslogtreecommitdiff
path: root/RhSolutions.Tests
diff options
context:
space:
mode:
authorSergey Chebotar <s.chebotar@gmail.com>2023-05-22 08:05:44 +0300
committerSergey Chebotar <s.chebotar@gmail.com>2023-05-22 08:05:44 +0300
commit7a7cdaab581adc3eff9f1b69722aeaf17ff31314 (patch)
treea52289782064c209d9b35d3ed52ce6a378fbfefe /RhSolutions.Tests
parent5720d2ede0688bbdf759ff853f894fe3b18a69f9 (diff)
Add Magic reader test
Diffstat (limited to 'RhSolutions.Tests')
-rw-r--r--RhSolutions.Tests/CanDoMagic.cs44
-rw-r--r--RhSolutions.Tests/TestWorkbooks/TargetSpecificationMagic.xlsxbin0 -> 11597 bytes
-rw-r--r--RhSolutions.Tests/TestWorkbooks/TestSpecificationMagic.xlsxbin0 -> 11669 bytes
3 files changed, 44 insertions, 0 deletions
diff --git a/RhSolutions.Tests/CanDoMagic.cs b/RhSolutions.Tests/CanDoMagic.cs
new file mode 100644
index 0000000..7988724
--- /dev/null
+++ b/RhSolutions.Tests/CanDoMagic.cs
@@ -0,0 +1,44 @@
+using Microsoft.Extensions.DependencyInjection;
+using RhSolutions.AddIn;
+using System.IO;
+
+namespace RhSolutions.Tests;
+
+[ExcelTestSettings(OutOfProcess = true)]
+public class CanDoMagic : IDisposable
+{
+ private RhSolutionsAddIn _addIn;
+ private ReaderFactory _readerFactory;
+ private IReader _reader;
+
+ public CanDoMagic()
+ {
+ _addIn = new();
+ _addIn.AutoOpen();
+ _readerFactory = RhSolutionsAddIn.ServiceProvider.GetRequiredService<ReaderFactory>();
+ _reader = _readerFactory.GetReader("Magic");
+ }
+
+ [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);
+ }
+}
diff --git a/RhSolutions.Tests/TestWorkbooks/TargetSpecificationMagic.xlsx b/RhSolutions.Tests/TestWorkbooks/TargetSpecificationMagic.xlsx
new file mode 100644
index 0000000..e7bae5f
--- /dev/null
+++ b/RhSolutions.Tests/TestWorkbooks/TargetSpecificationMagic.xlsx
Binary files differ
diff --git a/RhSolutions.Tests/TestWorkbooks/TestSpecificationMagic.xlsx b/RhSolutions.Tests/TestWorkbooks/TestSpecificationMagic.xlsx
new file mode 100644
index 0000000..d268c3e
--- /dev/null
+++ b/RhSolutions.Tests/TestWorkbooks/TestSpecificationMagic.xlsx
Binary files differ