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); }
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)); } }
public void Setup() { SetOrReset(); mazeFactory = new EnchantedMazeFactory(); maze = mazeGame.CreateMaze(mazeFactory); }