Exemple #1
0
 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();
 }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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();
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        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();
        }
Exemple #7
0
        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();
        }