public void MtchTest_C245() { //arrange Group, Components, CompSet, Rule var Im = new IMIT(); var rule = Im.IM_Rule(); var syns = rule.synonyms[SType.Profile].ToList(); Assert.AreEqual(syns[0], "угoлoк"); Assert.AreEqual(syns[1], "l"); Comp comp = rule.CompSet.Components[1]; Assert.AreEqual(comp.Str(SType.Profile), "Уголок 20x5"); Assert.AreEqual(comp.compDP.dpar[SType.Profile], "угoлoк20x5"); var gr = Im.IM_Group("C245"); Assert.AreEqual(gr.mat, "c245"); Assert.AreEqual(gr.prf, "l20x5"); //act Mtch m = new Mtch(gr, rule); //assert Assert.AreEqual(m.ok, Mtch.OK.Match); Assert.AreEqual(m.group.guids.Count, 2); Assert.AreEqual(m.component.Str(SType.Profile), "Уголок 20x5"); Assert.AreEqual(m.group.totalPrice, 2020); }
public void UT_FP_Component_constr2() { var Im = new IMIT(); var rule = Im.IM_Rule("M:*;Проф:Уголок равнопол.=Уголок *x*c*"); var sec = new Sec("M:"); var fpMat = new FP("Уголок 75х6 6м Ст3пс/сп5", rule, sec); //////////////////var csFPmat = new FP(FPtype.CompSet, "M:{2}"); // 27/3 //////////var csFPprf = new FP(FPtype.CompSet, "Prf:Уголок {1}"); //////////////////var csFPs = new List<FP> { csFPmat, csFPprf }; // 23.3.2017 пока решил не позволять использовать несколько параметров в строке //xr1 = new FP(FPtype.CompSet, "Цена: {4} НДС {12}{14}%"); //Assert.AreEqual(xr1.pars.Count, 3); //Assert.AreEqual(xr1.txs[3], "%"); //Assert.AreEqual(xr1.Col(2), 14); //Assert.AreEqual(xr1.txs.Count, 4); //Assert.AreEqual(xr1.typeFP.ToString(), "CompSet"); //Assert.AreEqual(xr1.section.type.ToString(), "Price"); //Assert.AreEqual(xr1.Col(), 4); //var sec = new Sec("Prf: L12x5"); //19/3 FP fp = new FP(sec); Assert.Fail(); }
public void MtchTest_B20() { var Im = new IMIT(); var rule = Im.IM_Rule("Mat: B*"); var gr = Im.IM_Group("B20"); //Prf "1900x1600" set in Im Assert.AreEqual(gr.mat, "b20"); Assert.AreEqual(gr.prf, "1900x1600"); Mtch m = new Mtch(gr, rule); Assert.AreEqual(m.ok, Mtch.OK.NoMatch); }