Пример #1
0
        //   ''**************************************
        //   '*  Name:       CalcTest
        //   '*  Purpose:    This application contains code to
        //   '*              test the calculator accessory addition capability.
        //   '*
        //   '*              It is the Template for the Chapter 5-4 Exercise.
        //   '*              THIS APPLICATION WILL NOT RUN UNTIL STEPS OF THE EXERCISE ARE FOLLOWED!!
        //   '*
        //   '*  Author:     M. Sweeney
        //   '*  Date Created: 6/15/2005
        //   '*  Inputs:
        //   '*  Expected Result: That the calculator will add numbers correctly 1 to 100 for a total of 10100
        //   '*  Modification History:
        //   '*  Name:       Date:       Purpose:
        //   '*
        //   '**************************************
        private void cmdTest_Click(object sender, EventArgs e)
        {
            DateTime StartTime;
            TimeSpan Interval;
            String   strTotal = "";
            Int32    CalcProcessID;
            Int16    I;

            TestLib.Logfile = "c:\\Calclog.txt";
            CalcProcessID   = TestLib.StartProgram("Calc.exe");

            //ADD CODE HERE!!!


            if (Convert.ToInt32(strTotal) == 10100)
            {
                TestLib.LogtoFile("Test Passed Expected: 10100 Actual : " + strTotal);
            }
            else
            {
                TestLib.LogtoFile("Test Failed Expected: 10100 Actual : " + strTotal);
            }
            Interval = DateTime.Now - StartTime;

            lblTime.Text = Interval.TotalSeconds.ToString();
            TestLib.LogtoFile("Total Elapsed time: " + lblTime.Text);

            TestLib.CloseProgram("calc");
            cmdLog.Enabled = true;
        }
Пример #2
0
        private void Generate(TablGenerator gen, string dirName)
        {
            TestLib.CopyDir("Generator", dirName);
            var dir = TestLib.TestRunDir + @"Generator\" + dirName + @"\";

            gen.GenerateParams(dir);
            TestLib.CompareGeneratedParams(dir + "Compiled.accdb", dir + "CorrectCompiled.accdb");
        }
Пример #3
0
 private void ButInit_Click(object sender, EventArgs e)
 {
     TestLib.CopyDir("Calibrator", "CalibratorProject");
     _launcher = new ItLauncher();
     //_launcher.InitializeTest();
     _launcher.Initialize("Test");
     _project = _launcher.LoadCalibratorProject(TestLib.TestRunDir + @"Calibrator\CalibratorProject\");
     _project.OpenThreads(PeriodLength.Text.ToDouble(), LateLength.Text.ToDouble());
 }
Пример #4
0
        //Загрузка таблиц
        private TablsList Load(string prefix)
        {
            var tabls = new TablsList();

            using (var db = new DaoDb(TestLib.CopyFile("Generator", "GenData.accdb", "Check" + prefix + ".accdb")))
            {
                tabls.AddStruct(db, "Tabl", "SubTabl", "SubSubTabl");
                tabls.AddDbStructs(db);
            }
            return(tabls);
        }
Пример #5
0
        private SourceConnect MakeProviders()
        {
            var factory = new ProvidersFactory();
            var logger  = new Logger(new AppIndicator());

            logger.History = new TestHistory(logger);
            var con  = (SourceConnect)factory.CreateConnect(logger, ProviderType.Source, "SourceCon", "Mir");
            var prov = factory.CreateProvider(logger, "MirSource", TestLib.TestSqlInf("EnergyRes"));

            con.JoinProvider(prov);
            return(con);
        }
Пример #6
0
        public void GenCalcParams()
        {
            TestLib.CopyDir("Generator", "Module");
            string dir    = TestLib.TestRunDir + @"Generator\Module\";
            var    logger = new Logger(new TestIndicator());

            logger.History = new TestHistory(logger);
            var gen = new TablGenerator(logger);

            gen.GenerateParams(dir);
            TestLib.CompareGeneratedParams(dir + "Compiled.accdb", dir + "CorrectCompiled.accdb");
        }
Пример #7
0
        private SourceConnect MakeCloneConnect(string prefix)
        {
            TestLib.CopyDir(@"Providers\Fictive", "TestClone", "Clone" + prefix);
            var factory = new ProvidersFactory();
            var logger  = new Logger(new AppIndicator());

            logger.History = new TestHistory(logger);
            var connect = factory.CreateConnect(logger, ProviderType.Source, "TestSource", "Clones");

            connect.JoinProvider(factory.CreateProvider(logger, "CloneSource", "CloneDir=" + TestLib.TestRunDir + @"Providers\Fictive\Clone" + prefix));
            return((SourceConnect)connect);
        }
Пример #8
0
        private SourceConnect MakeProviders(string prefix)
        {
            TestLib.CopyFile(@"Providers\Logika", "prolog.mdb", prefix + "Prolog.mdb");
            var factory = new ProvidersFactory();
            var logger  = new Logger(new AppIndicator());

            logger.History = new TestHistory(logger);
            var con  = (SourceConnect)factory.CreateConnect(logger, ProviderType.Source, "SourceCon", "Logika");
            var prov = factory.CreateProvider(logger, "LogikaSource", "DbFile=" + TestLib.TestRunDir + @"Providers\Logika\" + prefix + "Prolog.mdb");

            con.JoinProvider(prov);
            return(con);
        }
Пример #9
0
        private TablikProject LoadProject(string projectCode, string projectSuffix, params string[] modules)
        {
            TestLib.CopyDir("Tablik", projectCode, projectCode + projectSuffix);
            var app    = new App("Constructor", new TestIndicator(), true);
            var proj   = new AppProject(app, TestLib.TestRunDir + @"Tablik\" + projectCode + projectSuffix);
            var tablik = proj.Tablik;

            tablik.LoadAllSignals();
            foreach (var module in modules)
            {
                tablik.AddModule(module);
            }
            return(tablik);
        }
Пример #10
0
        public void Setings()
        {
            var con = MakeProviders(true);

            Assert.AreEqual("SourceCon", con.Code);
            Assert.AreEqual("Kosmotronika", con.Complect);
            Assert.AreEqual(ProviderType.Source, con.Type);
            Assert.IsNotNull(con.Logger);
            Assert.AreEqual(con.Context, "SourceCon");
            Assert.IsNotNull(con.Provider);
            Assert.IsTrue(con.Provider is KosmotronikaRetroSource);
            var prov = (KosmotronikaRetroSource)con.Provider;

            Assert.AreEqual("KosmotronikaRetroSource", prov.Code);
            Assert.AreEqual("SourceCon", prov.Context);
            Assert.AreEqual("RetroServerName=RetroServerTest", prov.Inf);
            Assert.AreSame(con, prov.ProviderConnect);
            Assert.IsNotNull(prov.Logger);
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);

            con = MakeProviders(false);
            Assert.AreEqual("SourceCon", con.Code);
            Assert.AreEqual("Kosmotronika", con.Complect);
            Assert.AreEqual(ProviderType.Source, con.Type);
            Assert.IsNotNull(con.Logger);
            Assert.AreEqual("SourceCon", con.Context);
            Assert.IsNotNull(con.Provider);
            Assert.IsTrue(con.Provider is KosmotronikaArchDbSource);
            var prov2 = (KosmotronikaArchDbSource)con.Provider;

            Assert.AreEqual("KosmotronikaArchDbSource", prov2.Code);
            Assert.AreEqual("SourceCon", prov2.Context);
            Assert.AreEqual("ArchiveDir=" + TestLib.InfoTaskDevelopDir + @"TestsBig\Kosmotronika\ArchiveKurganOld;Location=0", prov2.Inf);
            Assert.AreSame(con, prov2.ProviderConnect);
            Assert.IsNotNull(prov2.Logger);
            Assert.IsFalse(prov2.IsConnected);
            Assert.IsFalse(prov2.IsPrepared);

            prov = (KosmotronikaRetroSource) new ProvidersFactory().CreateProvider(TestLib.CreateTestLogger(), "KosmotronikaRetroSource", "RetroServerName=RetroServerNo");
            con.JoinProvider(prov);
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);
            //Assert.IsTrue(prov.Connect());
            //Assert.IsTrue(prov.IsConnected);
            //Assert.IsFalse(prov.IsPrepared);
            //prov.Disconnect();
            //Assert.IsFalse(prov.IsConnected);
        }
Пример #11
0
        public void Clone()
        {
            TestLib.CopyDir(@"Providers\Mir", "Clone");

            var app = new App("Test", new TestIndicator(), false);

            app.InitTest();
            var con = new ClonerConnect(app);

            con.JoinProvider(app.ProvidersFactory.CreateProvider(app, "MirSource", TestLib.TestSqlInf("EnergyRes")));
            var cloneDir = TestLib.TestRunDir + @"Providers\Mir\Clone\";

            SysTabl.PutValueS(cloneDir + "Clone.accdb", "SourceInf", TestLib.TestSqlInf("EnergyRes"));
            using (con.StartPeriod(D(48), D(96), "Single"))
                con.MakeClone(cloneDir);
            TestLib.CompareClones(cloneDir + "Clone.accdb", cloneDir + "CorrectClone.accdb");
        }
Пример #12
0
        public void Clone()
        {
            TestLib.CopyDir(@"Providers\Logika", "Clone");
            TestLib.CopyFile(@"Providers\Logika", "prolog.mdb", "CloneProlog.mdb");
            var app = new App("Test", new TestIndicator(), false);

            app.InitTest();
            var con = new ClonerConnect(app);

            con.JoinProvider(app.ProvidersFactory.CreateProvider(app, "LogikaSource", "DbFile=" + TestLib.TestRunDir + @"Providers\Logika\CloneProlog.mdb"));
            var cloneDir = TestLib.TestRunDir + @"Providers\Logika\Clone\";

            SysTabl.PutValueS(cloneDir + "Clone.accdb", "SourceInf", "DbFile=" + TestLib.TestRunDir + @"Providers\Logika\CloneProlog.mdb");
            using (con.StartPeriod(D(0), D(24), "Single"))
                con.MakeClone(cloneDir);
            TestLib.CompareClones(cloneDir + "Clone.accdb", cloneDir + "CorrectClone.accdb");
        }
Пример #13
0
        private SourceConnect MakeFictiveConnect(string prefix, bool makeReserve = false)
        {
            var factory = new ProvidersFactory();
            var logger  = new Logger(new AppIndicator());

            logger.History = new TestHistory(logger);
            var connect = (SourceConnect)factory.CreateConnect(logger, ProviderType.Source, "TestSource", "Fictive");

            TestLib.CopyFile(@"Providers\Fictive", "Fictive.accdb", "Fictive" + prefix + ".accdb");
            var           source  = (FictiveSource)factory.CreateProvider(logger, "FictiveSource", @"DbFile=" + TestLib.TestRunDir + @"Providers\Fictive\Fictive" + prefix + ".accdb");
            FictiveSource source2 = null;

            if (makeReserve)
            {
                source2 = (FictiveSource)factory.CreateProvider(logger, "FictiveSource", @"DbFile=" + TestLib.TestRunDir + @"Providers\Fictive\Fictive" + prefix + ".accdb");
            }
            connect.JoinProvider(source, source2);
            return(connect);
        }
Пример #14
0
        private void Generate(string tablName, string subTablName = null, bool copyRes = true)
        {
            var tabls = new TablsList();

            using (var db = new DaoDb(TestLib.CopyFile("Generator", "GenData.accdb", "Gen" + tablName + "Data.accdb")))
            {
                tabls.AddStruct(db, "Tabl", "SubTabl", "SubSubTabl");
                tabls.AddDbStructs(db);
                tabls.LoadValues(db, true);
            }

            TestLib.CopyFile("Generator", "GenTemplate.accdb", "Gen" + tablName + "Template.accdb");
            if (copyRes)
            {
                TestLib.CopyFile("Generator", "GenRes.accdb", "Gen" + tablName + "Res.accdb");
            }
            TestLib.CopyFile("Generator", "CorrectGen" + tablName + ".accdb", "Gen" + tablName + "Correct.accdb");

            var templatesFile = TestLib.TestRunDir + @"Generator\Gen" + tablName + "Template.accdb";
            var table         = new GenTemplateTable(tablName, "GenRule", "ErrMess", "CalcOn", "Id");
            var subTable      = subTablName == null ? null : new GenTemplateTable(subTablName, table, "GenRule", "ErrMess", "CalcOn", "Id", "ParentId");
            var logger        = new Logger(new AppIndicator());

            logger.History = new TestHistory(logger);
            var generator = new ModuleGenerator(logger, tabls, templatesFile, table, subTable);

            var s = TestLib.TestRunDir + @"Generator\Gen" + tablName;

            if (copyRes)
            {
                generator.Generate(s + "Res.accdb", tablName, subTablName);
            }

            using (var db1 = new DaoDb(s + (copyRes ? "Res" : "Template") + ".accdb"))
                using (var db2 = new DaoDb(s + "Correct" + ".accdb"))
                {
                    TestLib.CompareTables(db1, db2, tablName, "Id");
                    if (subTablName != null)
                    {
                        TestLib.CompareTables(db1, db2, subTablName, "Id");
                    }
                }
        }
Пример #15
0
        public MuTestOptions Build()
        {
            var muTestOptions = new MuTestOptions
            {
                SourceProjectParameter        = GetOption(SourceProject.Value(), CliOptions.SourceProject),
                SourceProjectLibraryParameter = GetOption(SourceLib.Value(), CliOptions.SourceLib),
                SourceClassParameter          = GetOption(SourceClass.Value(), CliOptions.SourceClass),
                TestProjectParameter          = GetOption(TestProject.Value(), CliOptions.TestProject),
                TestProjectLibraryParameter   = GetOption(TestLib.Value(), CliOptions.TestLib),
                TestClassParameter            = GetOption(TestClass.Value(), CliOptions.TestClass),
                ExecuteAllTests               = GetOption(ExecuteAllTests.Value(), CliOptions.ExecuteAllTests),
                SkipTestProjectBuild          = GetOption(SkipTestProjectBuild.Value(), CliOptions.SkipTestProjectBuild),
                IncludePartialClasses         = GetOption(IncludePartialClasses.Value(), CliOptions.IncludePartialClasses),
                AnalyzeExternalCoveredClasses = GetOption(AnalyzeExternalCoveredClasses.Value(), CliOptions.AnalyzeExternalCoveredClasses),
                IncludeNestedClasses          = GetOption(IncludeNestedClasses.Value(), CliOptions.IncludeNestedClasses),
                UseClassFilter              = GetOption(UseClassFilter.Value(), CliOptions.UseClassFilter),
                X64TargetPlatform           = GetOption(X64.Value(), CliOptions.X64TargetPlatform),
                BuildInReleaseModeParameter = GetOption(ReleaseMode.Value(), CliOptions.BuildInReleaseMode),
                EnableDiagnostics           = GetOption(Diagnostics.Value(), CliOptions.EnableDiagnostics),
                OptimizeTestProject         = GetOption(OptimizeTestProject.Value(), CliOptions.OptimizeTestProject),
                ConcurrentTestRunners       = GetOption(Parallel.Value(), CliOptions.Parallel),
                SurvivedThreshold           = GetOption(SurvivedThreshold.Value(), CliOptions.SurvivedThreshold),
                KilledThreshold             = GetOption(KilledThreshold.Value(), CliOptions.KilledThreshold),
                OutputPathParameter         = GetOption(OutputPath.Value(), CliOptions.OutputPath),
                NoCoverage             = GetOption(NoCoverage.Value(), CliOptions.NoCoverage),
                RegEx                  = GetOption(RegEx.Value(), CliOptions.Regex),
                Specific               = GetOption(Specific.Value(), CliOptions.Specific),
                ClassName              = GetOption(ClassName.Value(), CliOptions.ClassName),
                ProcessWholeProject    = GetOption(ProcessWholeProject.Value(), CliOptions.ProcessWholeProject),
                TestExecutionThreshold = GetOption(FindTestTime.Value(), CliOptions.TestExecutionThreshold),
                MutantsPerLine         = GetOption(MutantsPerLine.Value(), CliOptions.MutantsPerLine)
            };

            muTestOptions
            .MultipleSourceClasses
            .AddRange(GetOption(MultipleSourceClasses.Value(), CliOptions.MultipleSourceClasses).Distinct());
            muTestOptions
            .MultipleTestClasses
            .AddRange(GetOption(MultipleTestClasses.Value(), CliOptions.MultipleTestClasses).Distinct());

            muTestOptions.ValidateOptions();
            return(muTestOptions);
        }
Пример #16
0
        public void TestLibrary()
        {
            var lib = new TestLib();

            var context = new ReflectionContext(lib);

            Assert.AreEqual(Parser.Parse("Sqrt(4)").Eval(context), 2);

            Assert.AreEqual(Parser.Parse("SqrtWithArg(4, 2)").Eval(context), 2);


            try
            {
                Parser.Parse("Pow(4)").Eval(context);
            }
            catch (Exception e)
            {
                Assert.IsTrue(e is InvalidDataException);
            }
        }
        //   ''**************************************
        //   '*  Name:       CalcTest
        //   '*  Purpose:    This application contains code to
        //   '*              test the calculator accessory addition capability.
        //   '*
        //   '*              It is the answer for the Chapter 5-4 Exercise.
        //   '*
        //   '*  Author:     M. Sweeney
        //   '*  Date Created: 6/15/2005
        //   '*  Inputs:
        //   '*  Expected Result: That the calculator
        //   '*  Modification History:
        //   '*  Name:       Date:       Purpose:
        //   '*
        //   '**************************************
        private void cmdTest_Click(object sender, EventArgs e)
        {
            DateTime StartTime;
            TimeSpan Interval;
            String   strTotal = "";
            Int32    CalcProcessID;
            Int16    I;

            TestLib.Logfile = "c:\\Calclog.txt";
            CalcProcessID   = TestLib.StartProgram("Calc.exe");
            System.Threading.Thread.Sleep(1000);

            StartTime = DateTime.Now;
            Interaction.AppActivate(CalcProcessID);
            for (I = 1; I <= 100; I++)
            {
                SendKeys.SendWait(I + "{+}");
            }
            SendKeys.SendWait("=");
            SendKeys.SendWait("^c");
            strTotal = Clipboard.GetData(DataFormats.Text).ToString();

            // if statement
            if (Convert.ToInt32(strTotal) == 10100)
            {
                TestLib.LogtoFile("Test Passed Expected: 10100 Actual : " + strTotal);
            }
            else
            {
                TestLib.LogtoFile("Test Failed Expected: 10100 Actual : " + strTotal);
            }
            Interval = DateTime.Now - StartTime;

            lblTime.Text = Interval.TotalSeconds.ToString();
            TestLib.LogtoFile("Total Elapsed time: " + lblTime.Text);

            TestLib.CloseProgram("calc");
            cmdLog.Enabled = true;
        }
Пример #18
0
        private void button3_Click(object sender, EventArgs e)
        {
            TestLib c = new TestLib();

            //if (text_chang_flag == null)
            //    text_chang_flag = TextIn.Text;
            //else
            //{
            //    flag = string.Compare(text_chang_flag, TextIn.Text);
            //    if (flag != 0)
            //        text_tmp = TextIn.Text;
            //}

            if (text_tmp == null)
            {
                text_tmp = TextIn.Text;
            }
            else
            {
                text_tmp = c.ToDBC(text_tmp);
            }
            TextOut.Text = text_tmp;
        }
Пример #19
0
 private void cmdLog_Click(object sender, EventArgs e)
 {
     TestLib.Readlog();
 }
	public static void Main(string[] args)
	{
		TestLib tl = new TestLib();
		MessageBox.Show(null, tl.LibOk(), "Test App");
	}
Пример #21
0
    public static void Main(string[] args)
    {
        TestLib tl = new TestLib();

        MessageBox.Show(null, tl.LibOk(), "Test App");
    }
Пример #22
0
        public void Signals()
        {
            var con  = MakeProviders("Signals");
            var prov = (LogikaSource)con.Provider;

            Assert.AreEqual("SourceCon", con.Code);
            Assert.AreEqual("Logika", con.Complect);
            Assert.AreEqual(ProviderType.Source, con.Type);
            Assert.IsNotNull(con.Logger);
            Assert.AreEqual("SourceCon", con.Context);
            Assert.IsNotNull(con.Provider);
            Assert.IsTrue(con.Provider is LogikaSource);
            Assert.AreEqual("LogikaSource", prov.Code);
            Assert.AreEqual("SourceCon", prov.Context);
            Assert.AreEqual("DbFile=" + TestLib.TestRunDir + @"Providers\Logika\SignalsProlog.mdb", prov.Inf);
            Assert.AreSame(con, prov.ProviderConnect);
            Assert.IsNotNull(prov.Logger);
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);

            var ti = con.GetTime();

            Assert.IsTrue(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);
            Assert.AreEqual(Static.MinDate, ti.Begin);

            con.AddSignal("T941M_412.t1", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=t1");
            con.AddSignal("T941M_412.t2", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=t2");
            con.AddSignal("T941M_412.V1", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=V1");
            con.AddSignal("T941M_412.V2", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=V2");
            con.AddSignal("T941M_412.V3", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=V3");
            con.AddSignal("T941M_412.M1", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=M1");
            con.AddSignal("T941M_412.M2", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=M2");
            con.AddSignal("T941M_412.M3", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=M3");
            con.AddSignal("T941M_412.Q", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=Q");
            con.AddSignal("T941M_412.Tи", DataType.Real, SignalType.List, "TableName=T941M;NodeId=412", "", "SignalCode=Tи");

            Assert.AreEqual(10, con.ReadingSignals.Count);
            Assert.AreEqual(10, con.InitialSignals.Count);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.t1"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["T941M_412.t1"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.t2"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.V1"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.V2"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.V3"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.M1"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.M2"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.M3"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.Q"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("T941M_412.Tи"));

            Assert.IsFalse(prov.IsPrepared);
            prov.Prepare(false);
            Assert.IsTrue(prov.IsPrepared);
            Assert.IsTrue(prov.IsConnected);
            Assert.IsTrue(prov.IsPrepared);
            Assert.AreEqual(1, prov.Outs.Count);
            Assert.AreEqual(1, prov.OutsId.Count);
            Assert.IsTrue(prov.Outs.ContainsKey("T941M"));
            Assert.IsTrue(prov.Outs["T941M"].ContainsKey(412));
            Assert.IsTrue(prov.OutsId.ContainsKey(412));

            con.ClearSignals();
            Assert.IsFalse(prov.IsPrepared);
            Assert.AreEqual(0, con.ReadingSignals.Count);
            Assert.AreEqual(0, con.CalcSignals.Count);
            Assert.AreEqual(0, con.InitialSignals.Count);
            Assert.AreEqual(0, prov.Outs.Count);
            Assert.AreEqual(0, prov.OutsId.Count);

            prov = (LogikaSource) new ProvidersFactory().CreateProvider(TestLib.CreateTestLogger(), "LogikaSource", "DbFile=" + TestLib.TestRunDir + @"Providers\Logika\НеТотProlog.mdb");
            con.JoinProvider(prov);
            Assert.IsFalse(prov.IsConnected);
            prov.Connect();
            Assert.IsFalse(prov.IsConnected);
        }
Пример #23
0
        public void Signals()
        {
            var con  = MakeProviders();
            var prov = (MirSource)con.Provider;

            Assert.AreEqual("SourceCon", con.Code);
            Assert.AreEqual("Mir", con.Complect);
            Assert.AreEqual(ProviderType.Source, con.Type);
            Assert.IsNotNull(con.Logger);
            Assert.AreEqual("SourceCon", con.Context);
            Assert.IsNotNull(con.Provider);
            Assert.IsTrue(con.Provider is MirSource);
            Assert.AreEqual("MirSource", prov.Code);
            Assert.AreEqual("SourceCon", prov.Context);
            Assert.AreEqual(TestLib.TestSqlInf("EnergyRes"), prov.Inf);
            Assert.AreSame(con, prov.ProviderConnect);
            Assert.IsNotNull(prov.Logger);
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);

            Assert.AreEqual(0, con.ReadingSignals.Count);
            con.ClearSignals();
            Assert.AreEqual(0, con.ReadingSignals.Count);

            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Активная прямая.Unit", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Активная прямая", "ValueType=Unit");
            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Активная прямая.Indication", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Активная прямая", "ValueType=Indication");
            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Активная обратная.Unit", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Активная обратная", "ValueType=Unit");
            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Активная обратная.Indication", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Активная обратная", "ValueType=Indication");
            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Реактивная прямая.Unit", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Реактивная прямая", "ValueType=Unit");
            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Реактивная прямая.Indication", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Реактивная прямая", "ValueType=Indication");
            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Реактивная обратная.Unit", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Реактивная обратная", "ValueType=Unit");
            con.AddSignal("ГТЭС 4х6 Игольская.В-6 2Г.Реактивная обратная.Indication", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 4х6 Игольская;NAME_DEVICE=В-6 2Г", "NAME_TYPE=Реактивная обратная", "ValueType=Indication");

            Assert.AreEqual(8, con.ReadingSignals.Count);
            Assert.AreEqual(8, con.InitialSignals.Count);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("ГТЭС 4х6 Игольская.В-6 2Г.Активная прямая.Unit"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["ГТЭС 4х6 Игольская.В-6 2Г.Активная прямая.Unit"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("ГТЭС 4х6 Игольская.В-6 2Г.Реактивная прямая.Indication"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["ГТЭС 4х6 Игольская.В-6 2Г.Реактивная прямая.Indication"].DataType);

            con.AddSignal("ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная прямая.Unit", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 2х6МВт Игольско-Талового нмр.;NAME_DEVICE=Яч.14 Ввод 6Г", "NAME_TYPE=Активная прямая", "ValueType=Unit");
            con.AddSignal("ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная обратная.Unit", DataType.Real, SignalType.List,
                          "NAME_OBJECT=ГТЭС 2х6МВт Игольско-Талового нмр.;NAME_DEVICE=Яч.14 Ввод 6Г", "NAME_TYPE=Активная обратная", "ValueType=Unit");

            Assert.AreEqual(10, con.ReadingSignals.Count);
            Assert.AreEqual(10, con.InitialSignals.Count);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная прямая.Unit"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная прямая.Unit"].DataType);

            Assert.IsFalse(prov.IsPrepared);
            Assert.IsFalse(prov.IsConnected);
            prov.Prepare();
            Assert.IsTrue(prov.IsConnected);
            Assert.IsTrue(prov.IsPrepared);
            Assert.AreEqual(6, prov.Outs.Count);
            Assert.AreEqual(8, prov.OutsId.Count);
            Assert.IsTrue(prov.Outs.ContainsKey("ГТЭС 4х6 Игольская.В-6 2Г.Активная прямая"));
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Активная прямая"].UnitSignal);
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Активная прямая"].IndicationSignal);
            Assert.IsTrue(prov.Outs.ContainsKey("ГТЭС 4х6 Игольская.В-6 2Г.Активная обратная"));
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Активная обратная"].UnitSignal);
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Активная обратная"].IndicationSignal);
            Assert.IsTrue(prov.Outs.ContainsKey("ГТЭС 4х6 Игольская.В-6 2Г.Реактивная прямая"));
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Реактивная прямая"].UnitSignal);
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Реактивная прямая"].IndicationSignal);
            Assert.IsTrue(prov.Outs.ContainsKey("ГТЭС 4х6 Игольская.В-6 2Г.Реактивная обратная"));
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Реактивная обратная"].UnitSignal);
            Assert.IsNotNull(prov.Outs["ГТЭС 4х6 Игольская.В-6 2Г.Реактивная обратная"].IndicationSignal);

            Assert.IsTrue(prov.Outs.ContainsKey("ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная прямая"));
            Assert.IsNotNull(prov.Outs["ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная прямая"].UnitSignal);
            Assert.IsNull(prov.Outs["ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная прямая"].IndicationSignal);
            Assert.IsTrue(prov.Outs.ContainsKey("ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная обратная"));
            Assert.IsNotNull(prov.Outs["ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная обратная"].UnitSignal);
            Assert.IsNull(prov.Outs["ГТЭС 2х6МВт Игольско-Талового нмр..Яч.14 Ввод 6Г.Активная обратная"].IndicationSignal);

            Assert.IsTrue(prov.OutsId.ContainsKey(676));
            Assert.IsTrue(prov.OutsId.ContainsKey(677));
            Assert.IsTrue(prov.OutsId.ContainsKey(678));
            Assert.IsTrue(prov.OutsId.ContainsKey(679));
            Assert.IsTrue(prov.OutsId.ContainsKey(779));
            Assert.IsTrue(prov.OutsId.ContainsKey(780));
            Assert.IsTrue(prov.OutsId.ContainsKey(1085));
            Assert.IsTrue(prov.OutsId.ContainsKey(1086));

            con.ClearSignals();
            Assert.IsFalse(prov.IsPrepared);
            Assert.AreEqual(0, con.ReadingSignals.Count);
            Assert.AreEqual(0, con.CalcSignals.Count);
            Assert.AreEqual(0, con.InitialSignals.Count);
            Assert.AreEqual(0, prov.Outs.Count);
            Assert.AreEqual(0, prov.OutsId.Count);
        }
Пример #24
0
 //Открытие тестовых баз с копированием
 private DaoDb CopyDb(string prefix)
 {
     return(new DaoDb(TestLib.CopyFile("Libraries", "TablsData.accdb", "Tabls" + prefix + ".accdb")));
 }
Пример #25
0
        public void Siganls()
        {
            var con  = MakeProviders();
            var prov = (OvationSource)con.Source;

            Assert.AreEqual("SourceCon", con.Code);
            Assert.AreEqual("Ovation", con.Complect);
            Assert.AreEqual(ProviderType.Source, con.Type);
            Assert.IsNotNull(con.Logger);
            Assert.AreEqual("SourceCon", con.Context);
            Assert.IsNotNull(con.Provider);
            Assert.IsTrue(con.Provider is OvationSource);
            Assert.AreEqual("OvationSource", prov.Code);
            Assert.AreEqual("SourceCon", prov.Context);
            Assert.AreEqual("DataSource=DROP200", prov.Inf);
            Assert.AreSame(con, prov.ProviderConnect);
            Assert.IsNotNull(prov.Logger);
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);

            Assert.AreEqual(0, con.ReadingSignals.Count);
            con.ClearSignals();
            Assert.AreEqual(0, con.ReadingSignals.Count);
            con.AddSignal("11ASV00CT001.Пар", DataType.Real, SignalType.Uniform, "Id=45259");
            con.AddSignal("11ASV00CT001.Stat", DataType.Integer, SignalType.Uniform, "Id=45259", "", "Prop=STAT");
            con.AddSignal("11ASV00CT002.Пар", DataType.Real, SignalType.Uniform, "Id=45260");
            Assert.AreEqual(3, con.ReadingSignals.Count);
            con.AddSignal("11BAT14CP051XG01.Пар", DataType.Boolean, SignalType.Uniform, "Id=46958");
            con.AddSignal("11BAT14CP051XG01.Stat", DataType.Integer, SignalType.Uniform, "Id=46958", "", "Prop=STAT");
            Assert.AreEqual(5, con.ReadingSignals.Count);
            con.AddSignal("11HHG50AA001-SOST1.Пар", DataType.Integer, SignalType.Uniform, "Id=50679");
            con.AddSignal("11HHG50AA001-SOST2.Пар", DataType.Integer, SignalType.Uniform, "Id=50680");
            Assert.AreEqual(7, con.ReadingSignals.Count);
            Assert.AreEqual(7, con.InitialSignals.Count);
            Assert.AreEqual(0, con.CalcSignals.Count);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("11ASV00CT001.Пар"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["11ASV00CT001.Пар"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("11ASV00CT001.Stat"));
            Assert.AreEqual(DataType.Integer, con.ReadingSignals["11ASV00CT001.Stat"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("11ASV00CT002.Пар"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["11ASV00CT002.Пар"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("11BAT14CP051XG01.Пар"));
            Assert.AreEqual(DataType.Boolean, con.ReadingSignals["11BAT14CP051XG01.Пар"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("11BAT14CP051XG01.Stat"));
            Assert.AreEqual(DataType.Integer, con.ReadingSignals["11BAT14CP051XG01.Stat"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("11HHG50AA001-SOST1.Пар"));
            Assert.AreEqual(DataType.Integer, con.ReadingSignals["11HHG50AA001-SOST1.Пар"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("11HHG50AA001-SOST2.Пар"));
            Assert.AreEqual(DataType.Integer, con.ReadingSignals["11HHG50AA001-SOST2.Пар"].DataType);

            Assert.IsFalse(prov.IsPrepared);
            prov.Prepare(false);
            Assert.IsTrue(prov.IsPrepared);
            Assert.AreEqual(5, prov.OutsId.Count);
            Assert.IsTrue(prov.OutsId.ContainsKey(45259));
            Assert.AreEqual(45259, prov.OutsId[45259].Id);
            Assert.IsNotNull(prov.OutsId[45259].ValueSignal);
            Assert.AreEqual(DataType.Real, prov.OutsId[45259].ValueSignal.DataType);
            Assert.IsNotNull(prov.OutsId[45259].StateSignal);
            Assert.AreEqual(DataType.Integer, prov.OutsId[45259].StateSignal.DataType);

            Assert.IsTrue(prov.OutsId.ContainsKey(45260));
            Assert.AreEqual(45260, prov.OutsId[45260].Id);
            Assert.IsNotNull(prov.OutsId[45260].ValueSignal);
            Assert.AreEqual(DataType.Real, prov.OutsId[45260].ValueSignal.DataType);
            Assert.IsNull(prov.OutsId[45260].StateSignal);

            Assert.IsTrue(prov.OutsId.ContainsKey(46958));
            Assert.AreEqual(46958, prov.OutsId[46958].Id);
            Assert.IsNotNull(prov.OutsId[46958].ValueSignal);
            Assert.AreEqual(DataType.Boolean, prov.OutsId[46958].ValueSignal.DataType);
            Assert.IsNotNull(prov.OutsId[46958].StateSignal);
            Assert.AreEqual(DataType.Integer, prov.OutsId[46958].StateSignal.DataType);

            Assert.IsTrue(prov.OutsId.ContainsKey(50679));
            Assert.AreEqual(50679, prov.OutsId[50679].Id);
            Assert.IsNotNull(prov.OutsId[50679].ValueSignal);
            Assert.AreEqual(DataType.Integer, prov.OutsId[50679].ValueSignal.DataType);
            Assert.IsNull(prov.OutsId[50679].StateSignal);

            Assert.IsTrue(prov.OutsId.ContainsKey(50680));
            Assert.AreEqual(50680, prov.OutsId[50680].Id);
            Assert.IsNotNull(prov.OutsId[50680].ValueSignal);
            Assert.AreEqual(DataType.Integer, prov.OutsId[50680].ValueSignal.DataType);
            Assert.IsNull(prov.OutsId[50680].StateSignal);

            con.AddSignal("AlarmMessages.MsgFlags", DataType.Integer, SignalType.List, "ObjectType=Alarm", "", "Prop=MSG_FLAGS");
            con.AddSignal("AlarmMessages.MsgType", DataType.Integer, SignalType.List, "ObjectType=Alarm", "", "Prop=MSG_TYPE");
            con.AddSignal("AlarmMessages.SubType", DataType.Integer, SignalType.List, "ObjectType=Alarm", "", "Prop=SUB_TYPE");
            con.AddSignal("AlarmMessages.System", DataType.Integer, SignalType.List, "ObjectType=Alarm", "", "Prop=SYSTEM");
            con.AddSignal("AlarmMessages.Node", DataType.String, SignalType.List, "ObjectType=Alarm", "", "Prop=NODE");
            con.AddSignal("AlarmMessages.AlmName", DataType.String, SignalType.List, "ObjectType=Alarm", "", "Prop=ALM_NAME");
            con.AddSignal("AlarmMessages.PrimText", DataType.String, SignalType.List, "ObjectType=Alarm", "", "Prop=PRIM_TEXT");
            con.AddSignal("AlarmMessages.SuppText", DataType.String, SignalType.List, "ObjectType=Alarm", "", "Prop=SUPP_TEXT");
            con.AddSignal("AlarmMessages.Info1", DataType.String, SignalType.List, "ObjectType=Alarm", "", "Prop=INFO1");
            con.AddSignal("AlarmMessages.Info2", DataType.String, SignalType.List, "ObjectType=Alarm", "", "Prop=INFO2");

            con.AddSignal("SoeMessages.MsgFlags", DataType.Integer, SignalType.List, "ObjectType=Soe", "", "Prop=MSG_FLAGS");
            con.AddSignal("SoeMessages.MsgType", DataType.Integer, SignalType.List, "ObjectType=Soe", "", "Prop=MSG_TYPE");
            con.AddSignal("SoeMessages.SubType", DataType.Integer, SignalType.List, "ObjectType=Soe", "", "Prop=SUB_TYPE");
            con.AddSignal("SoeMessages.System", DataType.Integer, SignalType.List, "ObjectType=Soe", "", "Prop=SYSTEM");
            con.AddSignal("SoeMessages.Node", DataType.String, SignalType.List, "ObjectType=Soe", "", "Prop=NODE");
            con.AddSignal("SoeMessages.AlmName", DataType.String, SignalType.List, "ObjectType=Soe", "", "Prop=ALM_NAME");
            con.AddSignal("SoeMessages.PrimText", DataType.String, SignalType.List, "ObjectType=Soe", "", "Prop=PRIM_TEXT");
            con.AddSignal("SoeMessages.SuppText", DataType.String, SignalType.List, "ObjectType=Soe", "", "Prop=SUPP_TEXT");
            con.AddSignal("SoeMessages.Info1", DataType.String, SignalType.List, "ObjectType=Soe", "", "Prop=INFO1");
            con.AddSignal("SoeMessages.Info2", DataType.String, SignalType.List, "ObjectType=Soe", "", "Prop=INFO2");

            con.AddSignal("TextMessages.MsgFlags", DataType.Integer, SignalType.List, "ObjectType=Text", "", "Prop=MSG_FLAGS");
            con.AddSignal("TextMessages.MsgType", DataType.Integer, SignalType.List, "ObjectType=Text", "", "Prop=MSG_TYPE");
            con.AddSignal("TextMessages.SubType", DataType.Integer, SignalType.List, "ObjectType=Text", "", "Prop=SUB_TYPE");
            con.AddSignal("TextMessages.System", DataType.Integer, SignalType.List, "ObjectType=Text", "", "Prop=SYSTEM");
            con.AddSignal("TextMessages.Node", DataType.String, SignalType.List, "ObjectType=Text", "", "Prop=NODE");
            con.AddSignal("TextMessages.AlmName", DataType.String, SignalType.List, "ObjectType=Text", "", "Prop=ALM_NAME");
            con.AddSignal("TextMessages.PrimText", DataType.String, SignalType.List, "ObjectType=Text", "", "Prop=PRIM_TEXT");
            con.AddSignal("TextMessages.SuppText", DataType.String, SignalType.List, "ObjectType=Text", "", "Prop=SUPP_TEXT");
            con.AddSignal("TextMessages.Info1", DataType.String, SignalType.List, "ObjectType=Text", "", "Prop=INFO1");
            con.AddSignal("TextMessages.Info2", DataType.String, SignalType.List, "ObjectType=Text", "", "Prop=INFO2");

            Assert.AreEqual(37, con.ReadingSignals.Count);
            Assert.AreEqual(37, con.InitialSignals.Count);
            Assert.AreEqual(0, con.CalcSignals.Count);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("AlarmMessages.MsgFlags"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("SoeMessages.PrimText"));
            Assert.IsTrue(con.ReadingSignals.ContainsKey("TextMessages.Info2"));
            Assert.IsTrue(con.InitialSignals.ContainsKey("AlarmMessages.MsgFlags"));
            Assert.IsTrue(con.InitialSignals.ContainsKey("SoeMessages.PrimText"));
            Assert.IsTrue(con.InitialSignals.ContainsKey("TextMessages.Info2"));

            Assert.IsFalse(prov.IsPrepared);
            prov.Prepare(false);
            Assert.IsTrue(prov.IsPrepared);
            Assert.AreEqual(5, prov.OutsId.Count);
            Assert.IsNotNull(prov.AlarmOut);
            Assert.IsNotNull(prov.SoeOut);
            Assert.IsNotNull(prov.TextOut);

            Assert.IsNotNull(prov.AlarmOut.MsgFlagsSignal);
            Assert.AreEqual(DataType.Integer, prov.AlarmOut.MsgFlagsSignal.DataType);
            Assert.AreEqual("OBJECTTYPE=Alarm;PROP=MSG_FLAGS;", prov.AlarmOut.MsgFlagsSignal.Inf.ToPropertyString());
            Assert.IsNotNull(prov.AlarmOut.MsgTypeSignal);
            Assert.AreEqual(DataType.Integer, prov.AlarmOut.MsgTypeSignal.DataType);
            Assert.IsNotNull(prov.AlarmOut.SubTypeSignal);
            Assert.AreEqual(DataType.Integer, prov.AlarmOut.SubTypeSignal.DataType);
            Assert.IsNotNull(prov.AlarmOut.SystemSignal);
            Assert.AreEqual(DataType.Integer, prov.AlarmOut.SystemSignal.DataType);
            Assert.IsNotNull(prov.AlarmOut.AlmNameSignal);
            Assert.AreEqual(DataType.String, prov.AlarmOut.AlmNameSignal.DataType);
            Assert.IsNotNull(prov.AlarmOut.Info1Signal);
            Assert.AreEqual(DataType.String, prov.AlarmOut.Info1Signal.DataType);
            Assert.IsNotNull(prov.AlarmOut.Info2Signal);
            Assert.AreEqual(DataType.String, prov.AlarmOut.Info2Signal.DataType);
            Assert.IsNotNull(prov.AlarmOut.NodeSignal);
            Assert.AreEqual(DataType.String, prov.AlarmOut.NodeSignal.DataType);
            Assert.IsNotNull(prov.AlarmOut.PrimTextSignal);
            Assert.AreEqual(DataType.String, prov.AlarmOut.PrimTextSignal.DataType);
            Assert.IsNotNull(prov.AlarmOut.SuppTextSignal);
            Assert.AreEqual(DataType.String, prov.AlarmOut.SuppTextSignal.DataType);

            Assert.IsNotNull(prov.AlarmOut.MsgFlagsSignal);
            Assert.AreEqual(DataType.Integer, prov.SoeOut.MsgFlagsSignal.DataType);
            Assert.AreEqual("OBJECTTYPE=Soe;PROP=MSG_FLAGS;", prov.SoeOut.MsgFlagsSignal.Inf.ToPropertyString());
            Assert.IsNotNull(prov.SoeOut.MsgTypeSignal);
            Assert.AreEqual(DataType.Integer, prov.SoeOut.MsgTypeSignal.DataType);
            Assert.IsNotNull(prov.SoeOut.AlmNameSignal);
            Assert.AreEqual(DataType.String, prov.SoeOut.AlmNameSignal.DataType);

            Assert.IsNotNull(prov.AlarmOut.MsgFlagsSignal);
            Assert.AreEqual(DataType.Integer, prov.TextOut.MsgFlagsSignal.DataType);
            Assert.AreEqual("OBJECTTYPE=Text;PROP=MSG_FLAGS;", prov.TextOut.MsgFlagsSignal.Inf.ToPropertyString());
            Assert.IsNotNull(prov.TextOut.MsgTypeSignal);
            Assert.AreEqual(DataType.Integer, prov.TextOut.MsgTypeSignal.DataType);
            Assert.IsNotNull(prov.TextOut.AlmNameSignal);
            Assert.AreEqual(DataType.String, prov.TextOut.AlmNameSignal.DataType);

            con.ClearSignals();
            Assert.IsFalse(prov.IsPrepared);
            Assert.AreEqual(0, con.ReadingSignals.Count);
            Assert.AreEqual(0, con.CalcSignals.Count);
            Assert.AreEqual(0, con.InitialSignals.Count);
            Assert.AreEqual(0, prov.OutsId.Count);
            Assert.IsNull(prov.AlarmOut);
            Assert.IsNull(prov.SoeOut);
            Assert.IsNull(prov.TextOut);

            prov = (OvationSource) new ProvidersFactory().CreateProvider(TestLib.CreateTestLogger(), "OvationSource", "DataSource=DropNo");
            con.JoinProvider(prov);
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);
            Assert.IsFalse(prov.Connect());
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);
            prov.Disconnect();
            Assert.IsFalse(prov.IsConnected);
        }
Пример #26
0
        public void Signals()
        {
            var con  = MakeProviders();
            var prov = (WonderwareSource)con.Provider;

            Assert.AreEqual("SourceCon", con.Code);
            Assert.AreEqual("Wonderware", con.Complect);
            Assert.AreEqual(ProviderType.Source, con.Type);
            Assert.IsNotNull(con.Logger);
            Assert.AreEqual("SourceCon", con.Context);
            Assert.IsNotNull(con.Provider);
            Assert.IsTrue(con.Provider is WonderwareSource);
            Assert.AreEqual("WonderwareSource", prov.Code);
            Assert.AreEqual("SourceCon", prov.Context);
            Assert.AreEqual(TestLib.TestSqlInf("RunTime"), prov.Inf);
            Assert.AreSame(con, prov.ProviderConnect);
            Assert.IsNotNull(prov.Logger);
            Assert.IsFalse(prov.IsConnected);
            Assert.IsFalse(prov.IsPrepared);

            Assert.AreEqual(0, con.ReadingSignals.Count);
            con.ClearSignals();
            Assert.AreEqual(0, con.ReadingSignals.Count);
            con.AddSignal("A00RL31H02KNB0.Пар", DataType.Real, SignalType.Uniform, "TagName=A00RL31H02KNB0");
            con.AddSignal("A00RL31S01ZSST.Пар", DataType.Real, SignalType.Uniform, "TagName=A00RL31S01ZSST");
            con.AddSignal("D1_NKK03B01.Пар", DataType.Boolean, SignalType.Uniform, "TagName=D1_NKK03B01");
            con.AddSignal("D2CAUP02ON.Пар", DataType.Boolean, SignalType.Uniform, "TagName=D2CAUP02ON");

            Assert.AreEqual(4, con.ReadingSignals.Count);
            Assert.AreEqual(0, con.CalcSignals.Count);
            Assert.AreEqual(4, con.InitialSignals.Count);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("A00RL31H02KNB0.Пар"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["A00RL31H02KNB0.Пар"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("A00RL31S01ZSST.Пар"));
            Assert.AreEqual(DataType.Real, con.ReadingSignals["A00RL31S01ZSST.Пар"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("D1_NKK03B01.Пар"));
            Assert.AreEqual(DataType.Boolean, con.ReadingSignals["D1_NKK03B01.Пар"].DataType);
            Assert.IsTrue(con.ReadingSignals.ContainsKey("D2CAUP02ON.Пар"));
            Assert.AreEqual(DataType.Boolean, con.ReadingSignals["D2CAUP02ON.Пар"].DataType);

            Assert.AreEqual(0, prov.Outs.Count);
            Assert.IsFalse(prov.IsPrepared);
            prov.Prepare(false);
            Assert.IsTrue(prov.IsPrepared);
            Assert.AreEqual(4, prov.Outs.Count);
            Assert.IsTrue(prov.Outs.ContainsKey("A00RL31H02KNB0"));
            Assert.IsNotNull(prov.Outs["A00RL31H02KNB0"].ValueSignal);
            Assert.IsTrue(prov.Outs.ContainsKey("A00RL31S01ZSST"));
            Assert.IsNotNull(prov.Outs["A00RL31S01ZSST"].ValueSignal);
            Assert.IsTrue(prov.Outs.ContainsKey("D1_NKK03B01"));
            Assert.IsNotNull(prov.Outs["D1_NKK03B01"].ValueSignal);
            Assert.IsTrue(prov.Outs.ContainsKey("D2CAUP02ON"));
            Assert.IsNotNull(prov.Outs["D2CAUP02ON"].ValueSignal);

            con.ClearSignals();
            Assert.IsFalse(prov.IsPrepared);
            Assert.AreEqual(0, con.ReadingSignals.Count);
            Assert.AreEqual(0, con.CalcSignals.Count);
            Assert.AreEqual(0, con.InitialSignals.Count);
            Assert.AreEqual(0, prov.Outs.Count);
        }
Пример #27
0
        private void ButGenField_Click(object sender, EventArgs e)
        {
            var generator = new ModuleGenerator(TestLib.CreateTestLogger(), null, null, null);

            Result.Text = new FieldsParsing(new GenKeeper(generator), "поле", Formula.Text).ToTestString();
        }