Beispiel #1
0
 public void AddGuess_ContributorDidNotLockChain_ExceptionThrown()
 {
     var chain = new InPlayChain();
     var player1 = new Mock<IPlayer>();
     var player2 = new Mock<IPlayer>();
     player1.Setup(p => p.Id).Returns(1);
     player2.Setup(p => p.Id).Returns(2);
     var guess = new Mock<IGuessInfo>();
     guess.Setup(g => g.Contributor).Returns(player2.Object);
     chain.Lock(player1.Object);
     chain.AddGuess(guess.Object);
 }
Beispiel #2
0
        public void AddGuess_ContributorLockedChain_GuessAdded()
        {
            var chain = new InPlayChain();
            var player1 = new Mock<IPlayer>();
            var guessInfo = new Mock<IGuessInfo>();
            var guessFactory = new Mock<IGuessFactory>();
            guessInfo.Setup(g => g.Contributor).Returns(player1.Object);
            chain.LockedBy = player1.Object;
            chain.GuessFactory = guessFactory.Object;
            var guess = new Mock<IGuessDTO>();
            var guesses = new List<IGuessDTO>();

            guessFactory.Setup(gf => gf.MakeGuess(It.Is<IGuessInfo>(g => g.Equals(guessInfo.Object)))).Returns(guess.Object);

            chain.Guesses = guesses;
            chain.AddGuess(guessInfo.Object);
            Assert.IsTrue(chain.Guesses.Contains(guess.Object));
        }
Beispiel #3
0
 public void Release_PlayerIsNotLocker_ExceptionThrown()
 {
     var chain = new InPlayChain();
     var player1 = new Mock<IPlayer>();
     var player2 = new Mock<IPlayer>();
     player1.Setup(p => p.Id).Returns(1);
     player2.Setup(p => p.Id).Returns(2);
     chain.Lock(player1.Object);
     chain.Release(player2.Object);
 }
Beispiel #4
0
 public void Release_PlayerIsLocker_LockedByIsSetToNull()
 {
     var chain = new InPlayChain();
     var player = new Mock<Player>();
     chain.Lock(player.Object);
     chain.Release(player.Object);
     Assert.IsTrue(chain.LockedBy == null);
 }
Beispiel #5
0
 public void Lock_LockedByIsNull_ChainIsLockedByPlayer()
 {
     var chain = new InPlayChain();
     var player = new Mock<Player>();
     chain.Lock(player.Object);
     Assert.IsTrue(chain.LockedBy==player.Object);
 }
Beispiel #6
0
 public void Lock_LockedByIsNotNull_ExceptionThrown()
 {
     var chain = new InPlayChain();
     var player1 = new Mock<Player>();
     var player2 = new Mock<Player>();
     chain.Lock(player1.Object);
     chain.Lock(player2.Object);
 }
Beispiel #7
0
 public void IsAvailableForPlayer_ChainIsLocked_ReturnsFalse()
 {
     var chain = new InPlayChain();
     chain.Lock(new Mock<IPlayer>().Object);
 }