Пример #1
0
 public void VerifyIsNotNewGameAndNotGameOver()
 {
     var beeGame = new BeeGame();
     beeGame.HitABee();
     Assert.IsFalse(beeGame.IsNewGame);
     Assert.IsFalse(beeGame.IsGameOver);
 }
Пример #2
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);
 }
Пример #3
0
        public void VerifyWorkerBeesInitialization()
        {
            var beeGame = new BeeGame();

            var bees = beeGame.Where(bee => bee.BeeType.Name == "Worker");

            Assert.AreEqual(5, bees.Count());
            Assert.IsTrue(bees.All(bee => bee.HitPoints == 75));
            Assert.IsTrue(bees.All(bee => bee.BeeType.DamagePerHit == 10));
        }
Пример #4
0
        public void VerifyDroneBeesInitialization()
        {
            var beeGame = new BeeGame();

            var bees = beeGame.Where(bee => bee.BeeType.Name == "Drone");

            Assert.AreEqual(8, bees.Count());
            Assert.IsTrue(bees.All(bee => bee.HitPoints == 50));
            Assert.IsTrue(bees.All(bee => bee.BeeType.DamagePerHit == 12));
        }
Пример #5
0
        public void VerifyQueenBeeInitialization()
        {
            var beeGame = new BeeGame();

            Assert.AreEqual(1, beeGame.Count(bee => bee.BeeType.IsQueen));

            var queen = beeGame.SingleOrDefault(bee => bee.BeeType.Name == "Queen");
            Assert.IsNotNull(queen, "A Queen wasn't created");
            Assert.IsTrue(queen.BeeType.IsQueen);
            Assert.AreEqual(100, queen.HitPoints);
            Assert.AreEqual(8, queen.BeeType.DamagePerHit);
        }
Пример #6
0
 private ActionResult GameView(BeeGame game, Bee bee)
 {
     StoreGame(game);
     var model = new BeeGameModel { BeeGame = game, HitBee = bee, };
     return View("GameView", model);
 }
Пример #7
0
 public ActionResult Index()
 {
     var game = new BeeGame();
     return GameView(game, null);
 }
Пример #8
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);
 }
Пример #9
0
 public void VerifyTotalNumberofBeesInitialization()
 {
     var beeGame = new BeeGame();
     Assert.AreEqual(14, beeGame.Count());
 }
Пример #10
0
        public void VerifyExcpetionOnTwoQueens()
        {
            var beeTypes = new List<BeeType> {
                new BeeType {Name ="Queen", DamagePerHit = 5, MaxHitPoints=100, InitialNumberOfBees=2, IsQueen = true},
                new BeeType {Name="Not A Queen", DamagePerHit = 4, MaxHitPoints=199, InitialNumberOfBees=1, IsQueen = false}
                };

            var bees = new BeeGame(beeTypes);
        }
Пример #11
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));
        }
Пример #12
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);
        }
Пример #13
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());
        }
Пример #14
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());
        }
Пример #15
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));
        }