Ejemplo n.º 1
0
        public void SaveExcel_ShouldSaveCorrectComponentInExcel_WhileComponentIsNotOthers()
        {
            //Arrange
            string saveFileName = "外观检查_ShouldSaveCorrectComponentInExcel.xlsx";
            var    bridgeDeckListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "第1跨"
                    , ComponentValue    = 2 //"伸缩缝"
                    , Component         = string.Empty
                    , Damage            = "缝内沉积物阻塞"
                    , DamageDescription = "左幅0#伸缩缝沉积物阻塞"
                }
            };
            var superSpaceListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "第1跨"
                    , Component         = "主梁"
                    , Damage            = "无"
                    , DamageDescription = "无"
                }
            };
            var subSpaceListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "0#台"
                    , Component         = "台身"
                    , Damage            = "水蚀"
                    , DamageDescription = "右幅0#台台身水蚀"
                }
            };

            //默认测试桥面系标签
            string expectedComponent = "伸缩缝"; string acturalComponent = string.Empty;

            //Act

            SaveExcelService.SaveExcel(bridgeDeckListDamageSummary, superSpaceListDamageSummary, subSpaceListDamageSummary, saveFileName);

            var file = new FileInfo(saveFileName);

            using (var excelPackage = new ExcelPackage(file))
            {
                // 检查"桥面系"Worksheets
                var worksheet = excelPackage.Workbook.Worksheets["桥面系"];
                acturalComponent = worksheet.Cells[2, 3].Value?.ToString() ?? string.Empty;
                // 检查"上部结构"Worksheets
                worksheet = excelPackage.Workbook.Worksheets["上部结构"];

                worksheet = excelPackage.Workbook.Worksheets["下部结构"];
            }
            if (File.Exists(saveFileName))
            {
                File.Delete(saveFileName);
            }
            //Assert
            //桥面系
            Assert.Equal(expectedComponent, acturalComponent);
        }
Ejemplo n.º 2
0
        public void SaveExcel_ShouldSaveCorrectComponentInExcel_WhileComponentIsOthers()
        {
            //Arrange
            string saveFileName = "外观检查_ShouldSaveCorrectComponentInExcel.xlsx";
            var    bridgeDeckListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "第1跨"
                    , ComponentValue    = GlobalData.ComponentComboBox.Where(x => x.Title == "其它").FirstOrDefault().Idx //"其它"
                    , Component         = "其它部件"                                                                        //"其它部件"是自己随便想的名称
                    , Damage            = "缝内沉积物阻塞"
                    , DamageDescription = "左幅0#伸缩缝沉积物阻塞"
                }
            };
            var superSpaceListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "第1跨"
                    , Component         = "主梁"
                    , Damage            = "无"
                    , DamageDescription = "无"
                }
            };
            var subSpaceListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "0#台"
                    , Component         = "台身"
                    , Damage            = "水蚀"
                    , DamageDescription = "右幅0#台台身水蚀"
                }
            };

            //默认测试桥面系标签
            string expectedComponent = "其它部件"; string acturalComponent = string.Empty;

            //Act

            SaveExcelService.SaveExcel(bridgeDeckListDamageSummary, superSpaceListDamageSummary, subSpaceListDamageSummary, saveFileName);

            var file = new FileInfo(saveFileName);

            using (var excelPackage = new ExcelPackage(file))
            {
                // 只测试"桥面系"示意
                // 检查"桥面系"Worksheets
                var worksheet = excelPackage.Workbook.Worksheets["桥面系"];
                acturalComponent = worksheet.Cells[2, 3].Value?.ToString() ?? string.Empty;
            }
            if (File.Exists(saveFileName))
            {
                File.Delete(saveFileName);
            }
            //Assert
            //桥面系
            Assert.Equal(expectedComponent, acturalComponent);
        }
Ejemplo n.º 3
0
 private void SaveExcel_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("保存后将会覆盖原来的Excel文件,你确定要继续吗?", "保存Excel", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
     {
         var _bridgeDeckListDamageSummary = BridgeDeckGrid.ItemsSource as ObservableCollection <DamageSummary>;
         var _superSpaceListDamageSummary = SuperSpaceGrid.ItemsSource as ObservableCollection <DamageSummary>;
         var _subSpaceListDamageSummary   = SubSpaceGrid.ItemsSource as ObservableCollection <DamageSummary>;
         if (SaveExcelService.SaveExcel(_bridgeDeckListDamageSummary.ToList()
                                        , _superSpaceListDamageSummary.ToList()
                                        , _subSpaceListDamageSummary.ToList()) == 1)
         {
             MessageBox.Show("Excel保存成功!");
         }
         else
         {
             MessageBox.Show("Excel保存失败!");
         }
     }
 }
Ejemplo n.º 4
0
        public void SaveExcel_ShouldSaveVarInExcel()
        {
            //GlobalData.ComponentComboBox[bridgeDeckListDamageSummary[i].ComponentValue].DamageComboBox[bridgeDeckListDamageSummary[i].DamageValue].Title
            //Arrange
            string saveFileName = "外观检查_ShouldSaveVarInExcel.xlsx";
            var    bridgeDeckListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "第1跨"
                    , ComponentValue    = GlobalData.ComponentComboBox.Where(x => x.Title == "伸缩缝").FirstOrDefault().Idx
                    , Component         = string.Empty
                    , DamageValue       = GlobalData.ComponentComboBox.Where(x => x.Title == "伸缩缝").FirstOrDefault().DamageComboBox.Where(p => p.Title == "缝内沉积物阻塞").FirstOrDefault().Idx //若节约时间不写复杂表达式,直接填1(仅对本次测试有效)
                    , Damage            = "缝内沉积物阻塞"
                    , DamageDescription = "左幅0#伸缩缝沉积物阻塞"
                    , Comment           = "新增"
                }
            };
            var superSpaceListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "第1跨"
                    , ComponentValue    = GlobalData.SuperSpaceComponentComboBox.Where(x => x.Title == "主梁").FirstOrDefault().Idx
                    , Component         = string.Empty
                    , DamageValue       = GlobalData.SuperSpaceComponentComboBox.Where(x => x.Title == "主梁").FirstOrDefault().DamageComboBox.Where(p => p.Title == "其它").FirstOrDefault().Idx
                    , Damage            = "无"
                    , DamageDescription = "无"
                }
            };
            var subSpaceListDamageSummary = new List <DamageSummary>
            {
                new DamageSummary {
                    Position            = "0#台"
                    , ComponentValue    = GlobalData.SubSpaceComponentComboBox.Where(x => x.Title == "台身").FirstOrDefault().Idx
                    , Component         = "台身"
                    , DamageValue       = GlobalData.SubSpaceComponentComboBox.Where(x => x.Title == "台身").FirstOrDefault().DamageComboBox.Where(p => p.Title == "其它").FirstOrDefault().Idx
                    , Damage            = "水蚀"
                    , DamageDescription = "右幅0#台台身水蚀"
                }
            };

            //默认测试桥面系标签
            string expectedDamage = bridgeDeckListDamageSummary[0].Damage; string acturalDamage = string.Empty;
            string expectedDamageDescription = bridgeDeckListDamageSummary[0].DamageDescription; string acturalDamageDescription = string.Empty;
            string expectedComment = bridgeDeckListDamageSummary[0].Comment; string acturalComment = string.Empty;

            string expectedDamageInSuperStructure = "无"; string acturalDamageInSuperStructure = string.Empty;
            string expectedDamageInSubStructure = "水蚀"; string acturalDamageInSubStructure = string.Empty;

            //Act

            SaveExcelService.SaveExcel(bridgeDeckListDamageSummary, superSpaceListDamageSummary, subSpaceListDamageSummary, saveFileName);

            var file = new FileInfo(saveFileName);

            using (var excelPackage = new ExcelPackage(file))
            {
                // 检查"桥面系"Worksheets
                var worksheet = excelPackage.Workbook.Worksheets["桥面系"];
                acturalDamage            = worksheet.Cells[2, SaveExcelService.FindColumnIndexByName(worksheet, "缺损类型")].Value?.ToString() ?? string.Empty;
                acturalDamageDescription = worksheet.Cells[2, SaveExcelService.FindColumnIndexByName(worksheet, "缺损描述")].Value?.ToString() ?? string.Empty;
                acturalComment           = worksheet.Cells[2, SaveExcelService.FindColumnIndexByName(worksheet, "备注")].Value?.ToString() ?? string.Empty;

                // 检查"上部结构"Worksheets
                worksheet = excelPackage.Workbook.Worksheets["上部结构"];
                acturalDamageInSuperStructure = worksheet.Cells[2, SaveExcelService.FindColumnIndexByName(worksheet, "缺损类型")].Value?.ToString() ?? string.Empty;

                worksheet = excelPackage.Workbook.Worksheets["下部结构"];
                acturalDamageInSubStructure = worksheet.Cells[2, SaveExcelService.FindColumnIndexByName(worksheet, "缺损类型")].Value?.ToString() ?? string.Empty;
            }

            //Assert
            //桥面系
            Assert.Equal(expectedDamage, acturalDamage);
            Assert.Equal(expectedDamageDescription, acturalDamageDescription);
            Assert.Equal(expectedComment, acturalComment);
            //上部结构
            Assert.Equal(expectedDamageInSuperStructure, acturalDamageInSuperStructure);
            //下部结构
            Assert.Equal(expectedDamageInSubStructure, acturalDamageInSubStructure);
            //Assert.Equal(0, 1);    //TODO:初始化变量重构
        }