Ejemplo n.º 1
0
 public void VerifyHitCount()
 {
     var beeGame = new BeeGame();
     Assert.AreEqual(0, beeGame.HitCount);
     beeGame.HitABee();
     Assert.AreEqual(1, beeGame.HitCount);
     beeGame.HitABee();
     Assert.AreEqual(2, beeGame.HitCount);
 }
Ejemplo n.º 2
0
 public void VerifyIsNotNewGameAndNotGameOver()
 {
     var beeGame = new BeeGame();
     beeGame.HitABee();
     Assert.IsFalse(beeGame.IsNewGame);
     Assert.IsFalse(beeGame.IsGameOver);
 }
Ejemplo n.º 3
0
 [Timeout(10000)] //in case of infinite loop.
 public void VerifyGameOver()
 {
     var beeGame = new BeeGame();
     var hitBee = beeGame.HitABee();
     while (hitBee != null)
     {
         hitBee = beeGame.HitABee();
     }
     Assert.IsTrue(beeGame.IsGameOver);
 }
Ejemplo n.º 4
0
        [Timeout(10000)] //incase of infinite loop.
        public void VerifyKillQueen()
        {
            var beeTypes = new List<BeeType> {
                new BeeType {Name="One-Shot Queen Bee", DamagePerHit = 5, MaxHitPoints=5, InitialNumberOfBees=1, IsQueen = true},
                new BeeType {Name ="0 damage per hit worker Bee", DamagePerHit = 0, MaxHitPoints=1, InitialNumberOfBees=2},
            };

            var bees = new BeeGame(beeTypes);

            Bee hitBee = null;
            while (bees.Count(bee => !bee.IsDead) > 0)
            {
                hitBee = bees.HitABee();
            }

            Assert.IsTrue(hitBee.BeeType.IsQueen);
            Assert.IsTrue(bees.IsGameOver);
            Assert.AreEqual(3, bees.Count(bee => bee.IsDead));
        }
Ejemplo n.º 5
0
        public void VerifyNullWhenAllBeesAreDead()
        {
            var beeTypes = new List<BeeType> {
                new BeeType {Name="One-Shot Bee Type", DamagePerHit = 5, MaxHitPoints=5, InitialNumberOfBees=1 } };

            var beeGame = new BeeGame(beeTypes);
            beeGame.HitABee();

            var hitBee2nd = beeGame.HitABee();
            Assert.IsNull(hitBee2nd);
        }
Ejemplo n.º 6
0
        public void VerifyHitABeeKill()
        {
            var beeTypes = new List<BeeType> {
                new BeeType {Name="One-Shot Bee Type", DamagePerHit = 5, MaxHitPoints=5, InitialNumberOfBees=10 } };

            var beeGame = new BeeGame(beeTypes);
            var hitBee = beeGame.HitABee();

            Assert.IsTrue(hitBee.IsDead);
            Assert.AreEqual(1, beeGame.Count(bee => bee.IsDead));
            Assert.AreEqual(9, beeGame.Count(bee => !bee.IsDead));
            Assert.AreEqual(9, beeGame.Where(bee => bee.HitPoints == 5).Count());
        }
Ejemplo n.º 7
0
        public void VerifyHitABee()
        {
            var beeTypes = new List<BeeType> {
                new BeeType {Name="Single Bee Type", DamagePerHit = 5, MaxHitPoints=10, InitialNumberOfBees=10 } };

            var beeGame = new BeeGame(beeTypes);
            var hitBee = beeGame.HitABee();

            Assert.AreEqual(hitBee.HitPoints, 5);
            Assert.AreEqual(9, beeGame.Where(bee => bee.HitPoints == 10).Count());
        }
Ejemplo n.º 8
0
        [Timeout(10000)] //in case of infinite loop.
        public void VerifyResetGameAfterGameOver()
        {
            var beeGame = new BeeGame();
            var hitBee = beeGame.HitABee();
            while (hitBee != null)
            {
                hitBee = beeGame.HitABee();
            }
            Assert.IsTrue(beeGame.IsGameOver);

            beeGame.ResetGame();
            Assert.IsTrue(beeGame.IsNewGame);
            Assert.AreEqual(14, beeGame.Count(bee => bee.HitPoints == bee.BeeType.MaxHitPoints));
        }