private static void testFP_Int_Col() { Log.set("test__Int_Col(fp)"); FingerPrint fp = new FingerPrint(type.CompSet, "PRF: L{2}"); TST.Eq(fp.Col(), 2); Log.exit(); }
private static void testFP_testEqLst(FingerPrint fp) { Log.set("testFP_testEqLst"); List<string> str1 = new List<string>(); List<string> str2 = new List<string>(); str1.Add("A"); str1.Add("B"); str2.Add("A"); str2.Add("B"); str2.Add("C"); TST.Eq(fp.EqLst(str1, str2), true); TST.Eq(fp.EqLst(str2, str1), true); str1.Add("XX"); TST.Eq(fp.EqLst(str1, str2), false); str1.Clear(); TST.Eq(fp.EqLst(str1, str2), true); str2.Clear(); TST.Eq(fp.EqLst(str1, str2), true); str1.Add("xX"); TST.Eq(fp.EqLst(str1, str2), true); str2.Add("X"); TST.Eq(fp.EqLst(str1, str2), false); //-- test with int and double elements List<object> p1 = new List<object>(); List<object> p2 = new List<object>(); p1.Add(1); p2.Add("1"); TST.Eq(fp.EqLst(p1, p2), true); p1.Add(2.58); p2.Add("2,58"); TST.Eq(fp.EqLst(p1, p2), true); Log.exit(); }
private static void testFP_synonym(FingerPrint fp) { Log.set("testFP_synonym(fp)"); int iStart = 0; string str = Lib.ToLat("L=Уголок*").ToLower(); TST.Eq(fp.isSynonym(str, iStart), true); TST.Eq(fp.synParser(str, ref iStart), "l"); TST.Eq(iStart, 2); string tx = str.Substring(iStart); TST.Eq(tx, Lib.ToLat("Уголок*").ToLower()); Log.exit(); }
private static void testFP_isMatchStr(FingerPrint fp) { Log.set("test_isMatchStr(fp)"); TST.Eq(fp.isMatchStr("", ""), true); TST.Eq(fp.isMatchStr("A", "B"), false); TST.Eq(fp.isMatchStr("A*", "AB"), true); TST.Eq(fp.isMatchStr("A*", "B"), false); TST.Eq(fp.isMatchStr("A*", "ABB"), true); TST.Eq(fp.isMatchStr("A*", "BA"), false); TST.Eq(fp.isMatchStr("A*", "AB*B"), true); Log.exit(); }
private static void testFP_Equals(FingerPrint fp) { Log.set("testFP_Equals"); FingerPrint A = new FingerPrint(type.Rule, "M:ABCD"); FingerPrint B = null; TST.Eq(A.Equals(B), false); FingerPrint C = new TSmatch.FingerPrint.FingerPrint(type.Rule, "M:C"); TST.Eq(A.Equals(C), false); TST.Eq(C.Equals(A), false); TST.Eq(C.Equals(B), false); Log.exit(); }
private static void testFP_constuctor2(FingerPrint fp) { Log.set("testFP_constructor2 - constructor Component.FP"); FingerPrint csMonolit = new FingerPrint(type.CompSet, "M:B{1};"); TST.Eq(csMonolit.pars.Count, 1); TST.Eq(csMonolit.Col(), 1); TST.Eq(csMonolit.txs.Count, 1); TST.Eq(csMonolit.txs[0], "b"); List<FingerPrint> csFPs = new List<FingerPrint>(); csFPs.Add(csMonolit); bool flag = false; FingerPrint comp = new FingerPrint("В12,5", csMonolit, out flag); TST.Eq(flag, true); TST.Eq(comp.pars.Count, 1); TST.Eq(comp.pars[0], "12,5"); comp = new FingerPrint("", csMonolit, out flag); TST.Eq(flag, false); string sL = "Угoлoк cтaльнoй paвнoпoл. 100 x 8 cт3cп / пc5"; Docs doc = Docs.getDoc("Уголок Стальхолдинг"); FingerPrint csAngle = new FingerPrint(type.CompSet, doc.LoadDescription); comp = new FingerPrint(sL, csAngle, out flag); //////////////////string sL = "Профиль: L=Уголок*{1}x{2}{материал уголков};"; //////////////////FingerPrint LoadDescriptor = new FingerPrint(type.CompSet, sL); //////////////////bool ok = false; //////////////////string sComp = "Угoлoк cтaльнoй paвнoпoл. 100 x 7 cт3cп/пc5"; //////////////////FingerPrint comp = new FingerPrint(sComp, LoadDescriptor, ref ok); // xr1 = new FingerPrint("L18x24", Section.Profile, csFPs); // xr1 = new FingerPrint("B20", csFPs); //////////////////////////csFPs.Add(LoadDescriptor); //////////////////////////TST.Eq(xr1.typeFP.ToString(), "Component"); //////////////////////////TST.Eq(xr1.section.ToString(), "Material"); /// 21/1 /////////////////TST.Eq(xr1.txs.Count, 1); //////////////////////////TST.Eq(xr1.txs[0], "b"); //////////////////////////TST.Eq(xr1.pars.Count, 1); //////////////////////////TST.Eq(xr1.pars[0], "20"); // throw new NotImplementedException(); Log.exit(); }
private static void testFP_getPar(FingerPrint fp) { Log.set("testFP_getPar()"); int ind = 0; bool isBrackets; // for StepIn //string s = fp.getPar("{123}", ref ind); TST.Eq(fp.getPar("{123}", ref ind, out isBrackets), "123"); TST.Eq(ind, 5); TST.Eq(isBrackets, true); ind = 0; string st = "параметр-значение"; TST.Eq(fp.getPar(st, ref ind, out isBrackets), st); TST.Eq(ind, st.Length); TST.Eq(isBrackets, false); ind = 0; TST.Eq(fp.getPar("", ref ind, out isBrackets), ""); TST.Eq(ind, 0); TST.Eq(isBrackets, false); TST.Eq(fp.getPar("{3", ref ind, out isBrackets), "{3"); TST.Eq(isBrackets, false); ind = 0; TST.Eq(fp.getPar("2}", ref ind, out isBrackets), "2}"); TST.Eq(ind, 2); TST.Eq(isBrackets, false); ind = 0; string str = "tx1{32}tx2"; string par = fp.getPar(str, ref ind, out isBrackets); TST.Eq(par, "32"); int indx = ind - par.Length - 2; TST.Eq(ind, 7); TST.Eq(indx, 3); TST.Eq(isBrackets, true); string tx1 = str.Substring(0, indx); TST.Eq(tx1, "tx1"); str = "{323}tx2"; ind = 0; TST.Eq(fp.getPar(str, ref ind, out isBrackets), "323"); string tx2 = str.Substring(ind); TST.Eq(ind, 5); TST.Eq(tx2, "tx2"); TST.Eq(isBrackets, true); ind = 1; TST.Eq(fp.getPar("ghj{323}", ref ind, out isBrackets), "323"); TST.Eq(ind, 8); TST.Eq(isBrackets, true); ind = 0; str = "abc{1}ghj{2}"; TST.Eq(fp.getPar(str, ref ind, out isBrackets), "1"); TST.Eq(isBrackets, true); int i1 = ind; TST.Eq(fp.getPar(str, ref ind, out isBrackets), "2"); int indx2 = ind - 3 - i1; string ghj = str.Substring(i1, indx2); TST.Eq(ghj, "ghj"); TST.Eq(isBrackets, true); //////////////////TST.Eq(fp.getParType("{2}").ToString(), "String"); //////////////////TST.Eq(fp.getParType("{s~2}").ToString(), "String"); //// 20/3/17 /////TST.Eq(fp.getParType("{i~4}").ToString(), "Integer"); //////////////////TST.Eq(fp.getParType("{d~3}").ToString(), "Double"); //////////////////TST.Eq(fp.getParType("{digital~3}").ToString(), "Double"); Log.exit(); }