Example #1
0
        public override bool Run(out string log)
        {
            log = "";
            try
            {
                #region testing...
                Dispers disp = new Dispers();
                int     test = 1;
                string  tmps;
                int     tmpi;
                int[]   ss = Common.Dev.Reg.GetSensorSizes();
                bool    result;

                log += "Test#" + test + " Comments and empty strings...";
                disp.Compile("#comment", false, out result);
                if (disp.Errors != null)
                {
                    log += Common.MLS.Get(MLSConst, "Comment error:") + disp.Errors + serv.Endl;
                    return(false);
                }
                log += "Ok" + serv.Endl;
                test++;

                log += "Test#" + test + " Empty strings...";
                disp.Compile("", false, out result);
                if (disp.Errors != null)
                {
                    log += Common.MLS.Get(MLSConst, "Empty string error:") + disp.Errors + serv.Endl;
                    return(false);
                }
                log += "Ok" + serv.Endl;
                test++;

                for (int i = 0; i < 8; i++)
                {
                    log += "Test#" + test + " Comments and empty strings...";
                    tmps = "";
                    tmpi = i;
                    for (int j = 0; j < 3; j++, tmpi >>= 1)
                    {
                        if ((tmpi & 1) == 0)
                        {
                            tmps += serv.Endl;
                        }
                        else
                        {
                            tmps += "#comments" + serv.Endl;
                        }
                    }
                    disp.Compile(tmps, false, out result);
                    if (disp.Errors != null)
                    {
                        log += Common.MLS.Get(MLSConst, "Comment and empty string error:") + disp.Errors + serv.Endl;
                        return(false);
                    }
                    log += "Ok" + serv.Endl;
                    test++;
                }

                log += "Test#" + test + " Simple setup 1 sensor";
                tmps = "#comment" + serv.Endl +
                       "s1:1" + serv.Endl +
                       "10-100" + serv.Endl +
                       "  20 - 200 " + serv.Endl;
                disp.Compile(tmps, false, out result);
                if (disp.Errors != null)
                {
                    log += Common.MLS.Get(MLSConst, "Parsing erros") + disp.Errors + serv.Endl;
                    return(false);
                }
                log += "Ok" + serv.Endl;
                test++;

                log += "Test#" + test + " Simple setup 2 sensor";
                tmps = "#comment" + serv.Endl +
                       "s1:1" + serv.Endl +
                       "10-10" + serv.Endl +
                       "  20 - 20 " + serv.Endl + serv.Endl +
                       "s2:2" + serv.Endl +
                       " " + (ss[0] + 2) + "-" + (ss[0] + 2) + serv.Endl +
                       " " + (ss[0] + 200) + "-" + (ss[0] + 200) + serv.Endl;
                disp.Compile(tmps, false, out result);
                if (disp.Errors != null)
                {
                    log += Common.MLS.Get(MLSConst, "Parsing erros") + disp.Errors + serv.Endl;
                    return(false);
                }
                log += "Ok" + serv.Endl;
                test++;

                log += "Test#" + test + " Simple setup 3 sensor";
                tmps = "#comment" + serv.Endl +
                       "s1:1" + serv.Endl +
                       "10-10" + serv.Endl +
                       "  20 - 20 " + serv.Endl + serv.Endl +
                       "s2:2" + serv.Endl +
                       " " + (ss[0] + 2) + "-" + (ss[0] + 2) + serv.Endl +
                       " " + (ss[0] + 200) + "-" + (ss[0] + 200) + serv.Endl +
                       "s3:3" + serv.Endl +
                       " " + (ss[1] + ss[0] + 3) + "-" + (ss[1] + ss[0] + 3) + serv.Endl +
                       " " + (ss[1] + ss[0] + 300) + "-" + (ss[1] + ss[0] + 300) + serv.Endl;
                disp.Compile(tmps, false, out result);
                if (disp.Errors != null)
                {
                    log += Common.MLS.Get(MLSConst, "Parsing erros:") + disp.Errors + serv.Endl;
                    return(false);
                }
                log += "Ok" + serv.Endl;
                test++;

                log += "Test#" + test + " Wrong interpolation type";
                tmps = "#comment" + serv.Endl +
                       "s1:4" + serv.Endl +
                       "10-10" + serv.Endl +
                       "  20 - 20 " + serv.Endl + serv.Endl +
                       "s2:2" + serv.Endl +
                       " " + (ss[0] + 2) + "-" + (ss[0] + 2) + serv.Endl +
                       " " + (ss[0] + 200) + "-" + (ss[0] + 200) + serv.Endl +
                       "s3:3" + serv.Endl +
                       " " + (ss[1] + ss[0] + 3) + "-" + (ss[1] + ss[0] + 3) + serv.Endl +
                       " " + (ss[1] + ss[0] + 300) + "-" + (ss[1] + ss[0] + 300) + serv.Endl;
                disp.Compile(tmps, false, out result);
                if (disp.Errors == null)
                {
                    log += Common.MLS.Get(MLSConst, "No error found.") + serv.Endl;
                    return(false);
                }
                log += " Found problem: '" + disp.Errors + "' - Ok" + serv.Endl;
                test++;

                log += "Test#" + test + " Wrong pixel interval";
                tmps = "#comment" + serv.Endl +
                       "s1:1" + serv.Endl +
                       "10-10" + serv.Endl +
                       "  20 - 20 " + serv.Endl + serv.Endl +
                       "s2:2" + serv.Endl +
                       " " + (ss[0] - 2) + "-" + (ss[0] - 2) + serv.Endl +
                       " " + (ss[0] + 200) + "-" + (ss[0] + 200) + serv.Endl +
                       "s3:3" + serv.Endl +
                       " " + (ss[1] + ss[0] + 3) + "-" + (ss[1] + ss[0] + 3) + serv.Endl +
                       " " + (ss[1] + ss[0] + 300) + "-" + (ss[1] + ss[0] + 300) + serv.Endl;
                disp.Compile(tmps, false, out result);
                if (disp.Errors == null)
                {
                    log += Common.MLS.Get(MLSConst, "No error found.") + serv.Endl;
                    return(false);
                }
                log += " Found problem: '" + disp.Errors + "' - Ok" + serv.Endl;
                test++;

                log += "Test#" + test + " Links is to close";
                tmps = "#comment" + serv.Endl +
                       "s1:1" + serv.Endl +
                       "10-10" + serv.Endl +
                       "  20 - 20 " + serv.Endl + serv.Endl +
                       "s2:2" + serv.Endl +
                       " " + (ss[0] + 2) + "-" + (ss[0] + 2) + serv.Endl +
                       " " + (ss[0] + 3) + "-" + (ss[0] + 3) + serv.Endl +
                       "s3:3" + serv.Endl +
                       " " + (ss[1] + ss[0] + 3) + "-" + (ss[1] + ss[0] + 3) + serv.Endl +
                       " " + (ss[1] + ss[0] + 300) + "-" + (ss[1] + ss[0] + 300) + serv.Endl;
                disp.Compile(tmps, false, out result);
                if (disp.Errors == null)
                {
                    log += Common.MLS.Get(MLSConst, "No error found.") + serv.Endl;
                    return(false);
                }
                log += " Found problem: '" + disp.Errors + "' - Ok" + serv.Endl;
                test++;

                log += "Test#" + test + " Wrong sensor number";
                tmps = "#comment" + serv.Endl +
                       "s1:1" + serv.Endl +
                       "10-10" + serv.Endl +
                       "  20 - 20 " + serv.Endl + serv.Endl +
                       "s2:2" + serv.Endl +
                       " " + (ss[0] + 2) + "-" + (ss[0] + 2) + serv.Endl +
                       " " + (ss[0] + 200) + "-" + (ss[0] + 200) + serv.Endl +
                       "s3:3" + serv.Endl +
                       " " + (ss[1] + ss[0] + 3) + "-" + (ss[1] + ss[0] + 3) + serv.Endl +
                       " " + (ss[1] + ss[0] + 300) + "-" + (ss[1] + ss[0] + 300) + serv.Endl +
                       "s100000:3" + serv.Endl +
                       " " + (ss[1] + ss[0] + 3) + "-" + (ss[1] + ss[0] + 3) + serv.Endl +
                       " " + (ss[1] + ss[0] + 300) + "-" + (ss[1] + ss[0] + 300) + serv.Endl;
                disp.Compile(tmps, false, out result);
                if (disp.Errors == null)
                {
                    log += Common.MLS.Get(MLSConst, "No error found.") + serv.Endl;
                    return(false);
                }
                log += " Found problem: '" + disp.Errors + "' - Ok" + serv.Endl;
                test++;

                string tt  = "#c" + serv.Endl + "s1:1" + serv.Endl + "10-20";
                bool[] ttf = { true,  true,  true,  true, true,
                               false, false, false, true, true,true,
                               false, false, false, true, true,true, true };
                tmps = "";
                for (int i = 0; i < tt.Length; i++)
                {
                    log += "Test#" + test + " Typing test...";
                    disp.Compile(tmps, false, out result);
                    if (ttf[i])
                    {
                        if (disp.Errors != null)
                        {
                            log += Common.MLS.Get(MLSConst, "Error found:") + disp.Errors + serv.Endl;
                            return(false);
                        }
                        log += "  - Ok" + serv.Endl;
                    }
                    else
                    {
                        if (disp.Errors == null)
                        {
                            log += Common.MLS.Get(MLSConst, "No error found.") + serv.Endl;
                            return(false);
                        }
                        log += " Found problem: '" + disp.Errors + "' - Ok" + serv.Endl;
                    }
                    test++;
                    tmps += tt[i];
                }
                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                log += "Fatal Error: " + ex + serv.Endl;
                return(false);
            }
        }