Пример #1
0
        public void ThrowsAnExceptionWhenStoppingWhileInTheErrorState()
        {
            using var target = new StubProcessor();
            target.SetState(ProcessorState.Error);

            Assert.Throws <RuntimeException>(() => target.Stop());
        }
Пример #2
0
        public void ChangeToAnErrorStateWhenExceptionThrownDuringStart()
        {
            using var target = new StubProcessor();
            target.SetupCallbacks(() => throw new Exception("This is a test exception"));

            Assert.Throws <Exception>(() => target.Start());
            Assert.AreEqual(ProcessorState.Error, target.State);
        }
Пример #3
0
        public void StoppingTwiceThrowsAnException()
        {
            using var target = new StubProcessor();
            target.Start();
            target.Stop();

            Assert.Throws <RuntimeException>(() => target.Stop());
        }
Пример #4
0
        public void ThrowsAnExceptionWhenStoppedAfterDisposed()
        {
            var target = new StubProcessor();

            target.Dispose();

            Assert.Throws <ObjectDisposedException>(() => target.Stop());
        }
Пример #5
0
        public void ThrowAnExceptionWhenTheProcessorIsAlreadyStarted()
        {
            using var target = new StubProcessor();
            target.Start();

            Assert.AreEqual(ProcessorState.Started, target.State);
            Assert.Throws <RuntimeException>(() => target.ExecuteGuardMustNotAlreadyBeStarted());
        }
Пример #6
0
        public void DisposeOfAProcessorThatIsNeverStarted()
        {
            var called = false;

            var target = new StubProcessor();

            target.SetupCallbacks(onDispose: () => called = true);

            target.Dispose();

            Assert.IsTrue(called);
        }
Пример #7
0
        public void ChangeTheProcessorStatesDuringStart()
        {
            var tested = false;

            using var target = new StubProcessor();
            target.SetupCallbacks(() =>
            {
                Assert.AreEqual(ProcessorState.Starting, target.State);
                tested = true;
            });

            target.Start();

            Assert.True(tested);
            Assert.AreEqual(ProcessorState.Started, target.State);
        }
Пример #8
0
 public void SetsTheNamePropertyDuringInitialization()
 {
     using var target = new StubProcessor("Test");
     Assert.AreEqual("Test", target.Name);
 }
Пример #9
0
 public void ReturnsTheCreatedStateUponNew()
 {
     using var target = new StubProcessor();
     Assert.AreEqual(ProcessorState.Created, target.State);
 }