Example #1
0
        public void TestCpuWorkerSignalStop()
        {
            CpuWorker worker = CreateCpuWorker();

            worker.Start();

            worker.SignalStop();
            Assert.AreEqual(worker.State, ExecutionState.Stopped);

            worker.SignalStop();
            Assert.AreEqual(worker.State, ExecutionState.Stopped);

            worker.Start();
            Assert.AreNotEqual(worker.State, ExecutionState.Stopped);

            worker.SignalPause();
            worker.SignalStop();
            Assert.AreEqual(worker.State, ExecutionState.Stopped);

            worker.Start();
            worker.SignalPause();
            worker.SignalResume();
            worker.SignalStop();
            Assert.AreEqual(worker.State, ExecutionState.Stopped);
        }
Example #2
0
        private static CpuWorker CreateCpuWorker()
        {
            var @operator = CreateOperator();
            var worker    = new CpuWorker(@operator);

            worker.LocalNetwork = @operator.Network;
            worker.LocalTrainingDataIterator = @operator.Trainer.TrainingDataIterator;
            worker.LocalOptimiser            = @operator.Trainer.Optimiser;

            return(worker);
        }
Example #3
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);
        }
Example #4
0
        public void TestCpuWorkerSignalPause()
        {
            CpuWorker worker = CreateCpuWorker();

            worker.Start();

            worker.SignalPause();
            Assert.AreEqual(worker.State, ExecutionState.Paused);

            worker.SignalPause();
            Assert.AreEqual(worker.State, ExecutionState.Paused);

            worker.SignalStop();
            Assert.AreNotEqual(worker.State, ExecutionState.Paused);

            Assert.Throws <InvalidOperationException>(() => worker.SignalPause());
            Assert.AreNotEqual(worker.State, ExecutionState.Paused);
        }