Ejemplo n.º 1
0
            public void GivenNullDiceBag_ThenThrowArgumentNullException()
            {
                // arrange & act
                var results = new CombatTurnService <MockInitiativePass>(null);

                // assert
                Assert.Fail("ArgumentNullException should have been thrown.");
            }
Ejemplo n.º 2
0
            public void GivenDiceBag_ThenCreateCombatTurnService()
            {
                // arrange & act
                var characters = new List <ICharacter>();
                var results    = new CombatTurnService <MockInitiativePass>(new DiceBag());

                // assert
                Assert.IsNotNull(results);
                Assert.IsNull(results.CurrentInitiativePass);
            }
Ejemplo n.º 3
0
            public void GivenNullParticipants_ThenThrowArgumentNullException()
            {
                // arrange
                var actual = new CombatTurnService <MockInitiativePass>(new DiceBag());

                // act
                actual.Setup(null);

                // assert
                Assert.Fail("ArgumentNullException should have been thrown.");
            }
Ejemplo n.º 4
0
            public void GivenParticipants_ThenSetupInitiativePass()
            {
                // arrange
                var characters = new List <ICharacter>();
                var actual     = new CombatTurnService <MockInitiativePass>(new DiceBag());

                // act
                actual.Setup(characters);

                // assert
                Assert.IsFalse(actual.CurrentInitiativePass.WasNextCalled);
                Assert.IsFalse(actual.CurrentInitiativePass.WasResetCalled);
                Assert.IsTrue(actual.CurrentInitiativePass.WasSetupCalled);
            }
Ejemplo n.º 5
0
            public void GivenParticipantsLeftToActInCurrentPass_ThenReturnNextParticipant()
            {
                // arrange
                var bag        = new DiceBag();
                var characters = new List <ICharacter>();
                var actual     = new CombatTurnService <MockInitiativePass>(bag);

                actual.Setup(characters);
                (actual.CurrentInitiativePass as MockInitiativePass).IsComplete       = false;
                (actual.CurrentInitiativePass as MockInitiativePass).ShouldReturnNext = true;

                // act
                var results = actual.Next();

                // assert
                Assert.IsNotNull(results);
                Assert.IsFalse((actual.CurrentInitiativePass as MockInitiativePass).WasResetCalled);
                Assert.IsTrue((actual.CurrentInitiativePass as MockInitiativePass).WasNextCalled);
            }
Ejemplo n.º 6
0
            public void GivenPassIsCompletedAndNoOneLeftToAct_ThenMarkCompletedAndReturnNull()
            {
                // arrange
                var bag        = new DiceBag();
                var characters = new List <ICharacter>();
                var actual     = new CombatTurnService <MockInitiativePass>(bag);

                actual.Setup(characters);
                (actual.CurrentInitiativePass as MockInitiativePass).IsComplete       = true;
                (actual.CurrentInitiativePass as MockInitiativePass).NeedsAnotherPass = false;

                // act
                var results = actual.Next();

                // assert
                Assert.IsNull(results);
                Assert.IsFalse((actual.CurrentInitiativePass as MockInitiativePass).WasResetCalled);
                Assert.IsFalse((actual.CurrentInitiativePass as MockInitiativePass).WasNextCalled);
            }