Exemple #1
0
        public void AddInterchangeables_ShouldRecognizeByEurocodeAndAddThem()
        {
            string testFile = $@"{projectDirectory}\ProductExcelSheets.app.tests\testGlasses_{this.GetCurrentMethod()}.xlsx";

            if (File.Exists(testFile))
            {
                File.Delete(testFile);
            }

            File.Copy(filePath, testFile);

            ExcelManager excelManager = new ExcelManager(mockedFileLogger.Object, "test.info", testFile);

            string sourceSheet = "interchangeables";
            string targetSheet = "SaintGobain";

            excelManager.AddInterchangeables(sourceSheet, targetSheet);

            var fileinfo = new FileInfo(testFile);

            if (fileinfo.Exists)
            {
                using (ExcelPackage excelPackage = new ExcelPackage(fileinfo))
                {
                    ExcelWorkbook  excelWorkBook  = excelPackage.Workbook;
                    ExcelWorksheet excelWorksheet = excelWorkBook.Worksheets.Where(s => s.Name == targetSheet).FirstOrDefault();

                    var euroCodeTargetColumn = excelWorksheet.Cells["1:1"].First(c => c.Value.ToString() == "Eurocode").Start.Column;
                    var sameAs1TargetColumn  = excelWorksheet.Cells["1:1"].First(c => c.Value.ToString() == "SameAs1").Start.Column;
                    var sameAs2TargetColumn  = excelWorksheet.Cells["1:1"].First(c => c.Value.ToString() == "SameAs2").Start.Column;
                    var sameAs3TargetColumn  = excelWorksheet.Cells["1:1"].First(c => c.Value.ToString() == "SameAs3").Start.Column;

                    int rangeMaxRows = excelWorksheet.Dimension.End.Row;
                    for (int i = 2; i <= rangeMaxRows; i++)
                    {
                        string cellStrEurocode = excelWorksheet.Cells[i, euroCodeTargetColumn].Value.ToString();
                        if (cellStrEurocode == "8534AGNGN")
                        {
                            string cellSameAs1 = excelWorksheet.Cells[i, sameAs1TargetColumn].Value.ToString();
                            Assert.AreEqual(cellSameAs1, "testEurocodeAGNGN");
                            string cellSameAs2 = excelWorksheet.Cells[i, sameAs2TargetColumn].Value.ToString();
                            Assert.AreEqual(cellSameAs2, "testEurocodeAGNGN2");
                            Assert.IsTrue(excelManager.IsCellEmpty(excelWorksheet.Cells[i, sameAs3TargetColumn].Value));
                        }
                        else if (cellStrEurocode == "8834AGN")
                        {
                            string cellSameAs1 = excelWorksheet.Cells[i, sameAs1TargetColumn].Value.ToString();
                            Assert.AreEqual(cellSameAs1, "4633AGN");
                            string cellSameAs2 = excelWorksheet.Cells[i, sameAs2TargetColumn].Value.ToString();
                            Assert.AreEqual(cellSameAs2, "7253AGN");
                            Assert.IsTrue(excelManager.IsCellEmpty(excelWorksheet.Cells[i, sameAs3TargetColumn].Value));
                        }
                        else if (cellStrEurocode == "4633AGN")
                        {
                            string cellSameAs1 = excelWorksheet.Cells[i, sameAs1TargetColumn].Value.ToString();
                            Assert.AreEqual(cellSameAs1, "7253AGN");
                            string cellSameAs2 = excelWorksheet.Cells[i, sameAs2TargetColumn].Value.ToString();
                            Assert.AreEqual(cellSameAs2, "8834AGN");
                            Assert.IsTrue(excelManager.IsCellEmpty(excelWorksheet.Cells[i, sameAs3TargetColumn].Value));
                        }
                        else
                        {
                            Assert.IsTrue(excelManager.IsCellEmpty(excelWorksheet.Cells[i, sameAs1TargetColumn].Value));
                            Assert.IsTrue(excelManager.IsCellEmpty(excelWorksheet.Cells[i, sameAs2TargetColumn].Value));
                            Assert.IsTrue(excelManager.IsCellEmpty(excelWorksheet.Cells[i, sameAs3TargetColumn].Value));
                        }
                    }
                }
            }

            this.RemoveFile(testFile);
        }