Beispiel #1
0
        public void ExpectInitialStateToBeFirst()
        {
            var state1 = new Mock<IFlowSate>();
            var state2 = new Mock<IFlowSate>();
            var flowstates = new IFlowSate[] { state1.Object, state2.Object };

            var factory = CreateFactory();
            var provider = new StateProvider(flowstates, factory);
            var result = provider.GetNext();
            Assert.Equal(state1.Object, result);
        }
Beispiel #2
0
        public void ExpectNextGivenStateIfCurrentCopmpleted()
        {
            var state1 = new Mock<IFlowSate>();
            var state2 = new Mock<IFlowSate>();
            var flowstates = new IFlowSate[] { state1.Object, state2.Object };

            var factory = CreateFactory();
            var provider = new StateProvider(flowstates, factory);
            state1.Setup(s => s.Completed).Returns(true);
            var result = provider.GetNext();

            Assert.Equal(state2.Object, result);
        }
Beispiel #3
0
        public void ExpectExceptionIfProviderHasNoMoreNextStates()
        {
            var state1 = new Mock<IFlowSate>();
            var state2 = new Mock<IFlowSate>();
            var flowstates = new IFlowSate[] { state1.Object, state2.Object };

            var factory = CreateFactory();
            var provider = new StateProvider(flowstates, factory);
            state1.Setup(s => s.Completed).Returns(true);
            state2.Setup(s => s.Completed).Returns(true);

            Assert.Throws<InvalidOperationException>(() => provider.GetNext());
        }
Beispiel #4
0
        public void InvalidCardGivesException(DevelopmentCardType type)
        {
            var state1 = new Mock<IFlowSate>();
            var state2 = new Mock<IFlowSate>();
            var flowstates = new IFlowSate[] { state1.Object, state2.Object };
            var factory = CreateFactory();

            var provider = new StateProvider(flowstates, factory);
            Assert.Throws<ArgumentException>(() => provider.Get(type));
        }
Beispiel #5
0
 public void StateProviderCantBeCreatedWithoutFactory()
 {
     var flowstates = new IFlowSate[] { new Mock<IFlowSate>().Object, new Mock<IFlowSate>().Object, new Mock<IFlowSate>().Object };
     Assert.Throws<ArgumentNullException>(() => new StateProvider(flowstates, null));
 }
Beispiel #6
0
        public void TestGetDevelopmentCard(DevelopmentCardType cardType, Type expectedState)
        {
            var state1 = new Mock<IFlowSate>();
            var state2 = new Mock<IFlowSate>();
            var flowstates = new IFlowSate[] { state1.Object, state2.Object };
            var factory = CreateFactory();

            var provider = new StateProvider(flowstates, factory);
            var result = provider.Get(cardType);
            Assert.IsAssignableFrom(expectedState, result);
        }