Esempio n. 1
0
        static void Main(string[] args)
        {
            MazeGame    mazeGame = new MazeGame();
            MazeFactory factory  = new EnchantedMazeFactory();

            Maze maze = mazeGame.CreateMaze(factory);
        }
        public MazeGame CreateEnchanedMazeGame()
        {
            MazeGame game = new MazeGame();

            MazeFactory factory = new EnchantedMazeFactory();

            game.CreateMaze(factory);

            return(game);
        }
        static void Main(string[] args)
        {
            MazeGame          mazeGame    = new MazeGame();
            BombedMazeFactory bombFactory = new BombedMazeFactory();

            mazeGame.CreateMaze(bombFactory);

            EnchantedMazeFactory enchantedFactory = new EnchantedMazeFactory();

            mazeGame.CreateMaze(enchantedFactory);
        }
Esempio n. 4
0
        public void CanCreateEnchantedMaze()
        {
            // Arrange
            var factory = new EnchantedMazeFactory();
            var game    = new MazeGame(factory);

            // Act
            var maze      = game.CreateMaze();
            var firstRoom = maze.GetRoom(1);
            var door      = firstRoom.GetSide(Direction.East);

            // Assert
            maze.Should().BeOfType <Maze>();
            firstRoom.Should().BeOfType <EnchantedRoom>();
            door.Should().BeOfType <DoorNeedingSpell>();
        }
        public void AbstractFactoryTest()
        {
            // Arrange
            IMazeFactory factory          = new MazeFactory();
            IMazeFactory enchantedFactory = new EnchantedMazeFactory();

            // Act
            var  game = new MazeGame();
            Maze maze = game.CreateMaze(factory);
            Maze mazeWithEnchantedRooms = game.CreateMaze(enchantedFactory);

            // Assert
            foreach (Room room in maze.Rooms)
            {
                Assert.IsInstanceOfType(room, typeof(Room));
                Assert.IsNotInstanceOfType(room, typeof(EnchantedRoom));
            }

            foreach (Room room in mazeWithEnchantedRooms.Rooms)
            {
                Assert.IsInstanceOfType(room, typeof(EnchantedRoom));
            }
        }
Esempio n. 6
0
 public void Setup()
 {
     SetOrReset();
     mazeFactory = new EnchantedMazeFactory();
     maze        = mazeGame.CreateMaze(mazeFactory);
 }