public void When_excel_has_more_products_then_eip___products_missing_from_eip_is_set() { //arrange var logService = new Mock <ILogService>(); var eipProduct = new List <I07> { EipProductCodeAMakerA() }; var excelProduct = new List <ExcelProductData> { ExcelProductCodeAMakerA(), ExcelProductCodeBMakerB() }; var excelBlockData = new List <ExcelBlockData> { new ExcelBlockData { Date = new DateTime(2019, 7, 7), ProductData = excelProduct, SheetName = "A" } }; var generator = new DiffGenerator(logService.Object); var onlyMonthCheckSheets = new List <SheetCheckBoxItem>(); //assess var result = generator.GenerateDiffReport(eipProduct, excelBlockData, onlyMonthCheckSheets); var missing = result.ProductsMissingFromEip.ToList(); Assert.IsTrue(!result.Mismatches.Any() && missing.Count == 1 && missing[0].Code == "B"); }
public void When_excel_product_does_not_match_eip_product_there_is_mismatch() { //arrange var logService = new Mock <ILogService>(); var eipProduct = new List <I07> { EipProductCodeAMakerA() }; var excelProduct = new List <ExcelProductData> { ExcelProductCodeAMakerB() }; var excelBlockData = new List <ExcelBlockData> { new ExcelBlockData { Date = new DateTime(2019, 7, 7), ProductData = excelProduct, SheetName = "A" } }; var generator = new DiffGenerator(logService.Object); var onlyMonthCheckSheets = new List <SheetCheckBoxItem>(); //assess var result = generator.GenerateDiffReport(eipProduct, excelBlockData, onlyMonthCheckSheets); var mismatches = result.Mismatches.ToList(); Assert.IsTrue(mismatches.Count == 1 && mismatches[0].ExcelData.Maker != mismatches[0].EipData.Maker); }
public void When_special_sheets_are_not_selected_day_mismatch_is_counted() { //arrange var logService = new Mock <ILogService>(); var eipProduct = new List <I07> { EipProductCodeAMakerA() }; var product = ExcelProductCodeAMakerA(); product.Date = product.Date.AddDays(5); var excelProduct = new List <ExcelProductData> { product }; var excelBlockData = new List <ExcelBlockData> { new ExcelBlockData { Date = new DateTime(2019, 7, 7), ProductData = excelProduct, SheetName = "sheet" } }; var generator = new DiffGenerator(logService.Object); var onlyMonthCheckSheets = new List <SheetCheckBoxItem>(); //assess var result = generator.GenerateDiffReport(eipProduct, excelBlockData, onlyMonthCheckSheets); var mismatches = result.Mismatches.ToList(); Assert.IsTrue(mismatches.Count == 1); }
public void When_excel_product_matches_eip_product_there_are_no_mismatches() { //arrange var logService = new Mock <ILogService>(); var eipProduct = new List <I07> { EipProductCodeAMakerA() }; var excelProduct = new List <ExcelProductData> { ExcelProductCodeAMakerA() }; var excelBlockData = new List <ExcelBlockData> { new ExcelBlockData { Date = new DateTime(2019, 7, 7), ProductData = excelProduct, SheetName = "A" } }; var generator = new DiffGenerator(logService.Object); var onlyMonthCheckSheets = new List <SheetCheckBoxItem>(); //assess var result = generator.GenerateDiffReport(eipProduct, excelBlockData, onlyMonthCheckSheets); Assert.IsTrue(!result.Mismatches.Any()); }
public void When_there_are_all_kinds_of_mismatches_diff_report_is_set_fully() { //arrange var logService = new Mock <ILogService>(); var eipProduct = new List <I07> { EipProductCodeAMakerA(), EipProductCodeCMakerA() }; var excelProduct = new List <ExcelProductData> { ExcelProductCodeAMakerB(), ExcelProductCodeBMakerB() }; var excelBlockData = new List <ExcelBlockData> { new ExcelBlockData { Date = new DateTime(2019, 7, 7), ProductData = excelProduct, SheetName = "A" } }; var generator = new DiffGenerator(logService.Object); var onlyMonthCheckSheets = new List <SheetCheckBoxItem>(); //assess var result = generator.GenerateDiffReport(eipProduct, excelBlockData, onlyMonthCheckSheets); var eipMissing = result.ProductsMissingFromEip.ToList(); var excelMissing = result.ProductsMissingFromExcel.ToList(); var mismatches = result.Mismatches.ToList(); Assert.IsTrue(eipMissing.Count == 1 && eipMissing[0].Code == "B" && mismatches.Count == 1 && excelMissing.Count == 1 && excelMissing[0].Code.First() == "C" && mismatches[0].ExcelData.Maker != mismatches[0].EipData.Maker); }