using Business.Core.MongoDBHelper; using Business.ResourceExamineManagement; using Business.ResourceExamineManagement.Dto; using Business.Model.Tech; using Business.MongoModel.Tech; using System; using System.Collections.Generic; using System.Linq; using System.Security.Policy; using System.Text; using System.Threading.Tasks; using Xunit; namespace Business.Test { /// /// 产能检查单元测试类 /// public class ProductExamineTest { [Fact] public void ProductExamine() { //dev合并master测试注释 //Arrange var sut = new ProductExamineAppService(); sut.techs = CreateTechnique(); sut.process = CreateProcess(); sut.tech_Processes = CreateTechProcess(); //Act ProdExamineParamDto prodExamine = new ProdExamineParamDto() { bom_number = "R650K", version = "3.0", packages = 1000 }; var result = sut.ProductiveExamine(prodExamine); //Assert Xunit.Assert.Equal(14030, result); } /// /// 创建工艺路径数据 /// /// public List CreateTechnique() { List techs = new List(); mo_mes_technique info = new mo_mes_technique(); info.id = 1111111111; info.mysql_id = 111111111111111; info.tech_name = "测试产能检查"; info.level = 2; info.bom = "R650K"; info.bomver = "3.0"; info.desc = "断路器"; techs.Add(info); return techs; } /// /// 创建工序数据 /// /// public List CreateProcess() { List processes = new List(); //插入工序数据 mo_mes_process info1 = new mo_mes_process(); info1.id = 2222222222; info1.mysql_id = 222222222222222; info1.proc_name = "前加工1"; processes.Add(info1); mo_mes_process info2 = new mo_mes_process(); info2.id = 3333333333; info2.mysql_id = 333333333333333; info2.proc_name = "组装2"; processes.Add(info2); mo_mes_process info3 = new mo_mes_process(); info3.id = 4444444444; info3.mysql_id = 444444444444444; info3.proc_name = "老化3"; processes.Add(info3); mo_mes_process info4 = new mo_mes_process(); info4.id = 5555555555; info4.mysql_id = 555555555555555; info4.proc_name = "包装4"; processes.Add(info4); return processes; } /// /// 创建工艺工序数据 /// /// public List CreateTechProcess() { List tech_Processes = new List(); //前加工1 mo_mes_tech_process info5 = new mo_mes_tech_process(); info5.id = 6666666666; info5.mysql_id = 666666666666666; info5.tech_id = 111111111111111; info5.proc_id = 222222222222222; info5.level = 1; info5.readytime = 60; info5.wctype = 1; info5.lq = 1; info5.lqt = 10; info5.wsinuse = 4; info5.upe = 2; info5.uph = 5; info5.ct = 0; info5.effect_ratio = 0.9m; info5.nextprocid = 333333333333333; info5.parentprocid = 111111111111111; tech_Processes.Add(info5); //组装2 mo_mes_tech_process info6 = new mo_mes_tech_process(); info6.id = 7777777777; info6.mysql_id = 777777777777777; info6.tech_id = 111111111111111; info6.proc_id = 333333333333333; info6.level = 1; info6.readytime = 60; info6.wctype = 2; info6.lq = 16; info6.lqt = 10; info6.wsinuse = 2; info6.upe = 2; info6.uph = 0; info6.ct = 37; info6.effect_ratio = 0.9m; info6.nextprocid = 444444444444444; info6.parentprocid = 111111111111111; tech_Processes.Add(info6); //老化3 mo_mes_tech_process info7 = new mo_mes_tech_process(); info7.id = 8888888888; info7.mysql_id = 888888888888888; info7.tech_id = 111111111111111; info7.proc_id = 444444444444444; info7.level = 1; info7.readytime = 60; info7.wctype = 3; info7.lq = 16; info7.lqt = 10; info7.wsinuse = 8; info7.upe = 2; info7.uph = 0; info7.ct = 240; info7.effect_ratio = 0.9m; info7.nextprocid = 555555555555555; info7.parentprocid = 111111111111111; tech_Processes.Add(info7); //包装4 mo_mes_tech_process info8 = new mo_mes_tech_process(); info8.id = 9999999999; info8.mysql_id = 999999999999999; info8.tech_id = 111111111111111; info8.proc_id = 555555555555555; info8.level = 1; info8.readytime = 60; info8.wctype = 2; info8.lq = 10; info8.lqt = 10; info8.wsinuse = 2; info8.upe = 2; info8.uph = 0; info8.ct = 28; info8.effect_ratio = 0.9m; info8.nextprocid = null; info8.parentprocid = 111111111111111; tech_Processes.Add(info8); return tech_Processes; } } }