public void TestCpuMultithreadedOperatorStart()
        {
            CpuMultithreadedOperator cpuOperator = CreateOperator();

            cpuOperator.Start();

            cpuOperator.WaitForStateChanged();

            Assert.AreEqual(ExecutionState.Running, cpuOperator.State);

            //Assert.Throws<InvalidOperationException>(() => cpuOperator.Start());

            cpuOperator.SignalStop();

            cpuOperator.WaitForStateChanged();

            cpuOperator.Start();

            cpuOperator.WaitForStateChanged();

            cpuOperator.SignalPause();

            cpuOperator.WaitForStateChanged();

            //Assert.Throws<InvalidOperationException>(() => cpuOperator.Start());

            cpuOperator.SignalStop();
        }
        public void TestCpuMultithreadedOperatorCreate()
        {
            CpuMultithreadedOperator cpuOperator = CreateOperator();

            Assert.AreEqual(3, cpuOperator.WorkerCount);
            Assert.AreEqual(ExecutionState.None, cpuOperator.State);
        }
示例#3
0
        private static CpuMultithreadedOperator CreateOperator()
        {
            SigmaEnvironment.Clear();
            RedirectGlobalsToTempPath();

            CpuMultithreadedOperator @operator = new CpuMultithreadedOperator(new CpuFloat32Handler(), 3, ThreadPriority.Normal);

            @operator.Trainer = new MockTrainer();
            @operator.Trainer.Initialise(@operator.Handler);
            @operator.Network = @operator.Trainer.Network;
            @operator.Sigma   = SigmaEnvironment.GetOrCreate("testificate-operatorcreate");

            return(@operator);
        }
示例#4
0
        public void TestCpuWorkerCreate()
        {
            IOperator @operator = new CpuMultithreadedOperator(10);
            CpuWorker worker    = new CpuWorker(@operator, @operator.Handler, ThreadPriority.Normal);

            Assert.AreSame(@operator, worker.Operator);
            Assert.AreEqual(worker.ThreadPriority, ThreadPriority.Normal);
            Assert.AreSame(worker.Handler, @operator.Handler);

            worker = new CpuWorker(@operator);

            Assert.AreSame(worker.Handler, @operator.Handler);

            Assert.AreEqual(worker.State, ExecutionState.None);
        }