Exemplo n.º 1
0
        public void ItCanSayIfItAHasAWumpusInACavern()
        {
            var map = new Map();

            Assert.IsFalse(map.HasWumpusIn(1));

            map.PlaceItem(1, MapItems.Wumpus);
            Assert.IsTrue(map.HasWumpusIn(1));
        }
Exemplo n.º 2
0
        public void ItAllowsAnotherItemWithTheWumpus()
        {
            var map = new Map();

            map.PlaceItem(1, MapItems.Wumpus);
            map.PlaceItem(1, MapItems.Arrow);

            Assert.IsTrue(map.HasWumpusIn(1));
            Assert.AreEqual(2, map.ItemsInCavern(1).Count);
        }
Exemplo n.º 3
0
        public void ItOnlyAllowsOneWumpus()
        {
            var map = new Map();

            map.PlaceItem(1, MapItems.Wumpus);
            map.PlaceItem(2, MapItems.Wumpus);

            Assert.IsFalse(map.HasWumpusIn(1));
            Assert.IsTrue(map.HasWumpusIn(2));
        }
Exemplo n.º 4
0
        public void ItDoesntMistakeAnyMapItemForAWumpus()
        {
            var map = new Map();
            map.PlaceItem(1, MapItems.Arrow);

            Assert.IsFalse(map.HasWumpusIn(1));
        }
Exemplo n.º 5
0
        public void ItDoesntMistakeAnEmptyCaveForAWumpus()
        {
            var map = new Map();
            map.AddPath(0, 1, Command.Directions.West);

            Assert.IsFalse(map.HasWumpusIn(0));
        }
Exemplo n.º 6
0
        public void ItMovesTheWumpusEachTurnBasedOnWumpusMover()
        {
            var presenter = Substitute.For<Presenter>();
            var map = new Map();
            map.PlaceItem(2, MapItems.Wumpus);

            var mover = Substitute.For<WumpusMover>();
            mover.Move(map).Returns(4);

            var game = new Game(presenter, map)
                           {
                               Mover = mover
                           };

            game.Command(new Command
                             {
                                 Order = Command.Commands.Rest
                             });

            Assert.IsTrue(map.HasWumpusIn(4));
        }
Exemplo n.º 7
0
        public void ItDoesntMoveTheWumpusIfTheWumpusIsntPlaced()
        {
            var presenter = Substitute.For<Presenter>();
            var map = new Map();
            var mover = Substitute.For<WumpusMover>();
            mover.Move(map).Returns(4);
            var game = new Game(presenter, map)
                           {
                               Mover = mover
                           };

            game.Command(new Command
                             {
                                 Order = Command.Commands.Rest
                             });

            Assert.IsFalse(map.HasWumpusIn(4));
        }
Exemplo n.º 8
0
        public void ItDoesntMoveIfTheWumpusHasBeenKilled()
        {
            var presenter = Substitute.For<Presenter>();
            var map = new Map();
            var mover = Substitute.For<WumpusMover>();
            mover.Move(map).Returns(5);

            var game = new Game(presenter, map)
                           {
                               Mover = mover
                           };

            KillWumpus(game, map);

            Assert.IsFalse(map.HasWumpusIn(5));
        }