/// <summary> /// Create a different matrix depending of the input parameter. /// </summary> /// <param name="matrixType">Enumeration MatrixType - there are Big, Small and Medium matrix.</param> /// <returns>Returns a new instance of matrix.</returns> public IMatrix CreateMatrix(MatrixTypes matrixType) { var director = new MatrixDirector(); MatrixBuilder builder; switch (matrixType) { case MatrixTypes.SMALL: builder = new SmallMatrixBuilder(); break; case MatrixTypes.MEDIUM: builder = new MediumMatrixBuilder(); break; case MatrixTypes.BIG: builder = new BigMatrixBuilder(); break; default: builder = new SmallMatrixBuilder(); break; } director.Construct(builder); return builder.GetMatrix(); }
/// <summary> /// Constructor for the Start command. /// </summary> /// <param name="engine">Curent game engine.</param> /// <param name="matrix">Current game matrix.</param> /// <param name="player">Current game player.</param> /// <param name="matrixDirector">Matrix director constructing the matrix.</param> /// <param name="matrixBuilder">Matrix builder used by matrix director.</param> /// <param name="printer">Current game printer.</param> public StartCommand(MinesweeperEngine engine, Matrix matrix, Player player, MatrixDirector matrixDirector, MatrixBuilder matrixBuilder, Printer printer) : base(matrix, player, printer) { this.engine = engine; this.director = matrixDirector; this.builder = matrixBuilder; }
/// <summary> /// Create a different matrix depending of the input parameter. /// </summary> /// <param name="matrixType">Enumeration MatrixType - there are Big, Small and Medium matrix.</param> /// <returns>Returns a new instance of matrix.</returns> public IMatrix CreateMatrix(MatrixTypes matrixType) { var director = new MatrixDirector(); MatrixBuilder builder; switch (matrixType) { case MatrixTypes.SMALL: builder = new SmallMatrixBuilder(); break; case MatrixTypes.MEDIUM: builder = new MediumMatrixBuilder(); break; case MatrixTypes.BIG: builder = new BigMatrixBuilder(); break; default: builder = new SmallMatrixBuilder(); break; } director.Construct(builder); return(builder.GetMatrix()); }
public void ExpectGetPrintFrameToReturntNotEmptyString() { var director = new MatrixDirector(); var builder = new SmallMatrixBuilder(); director.Construct(builder); var matrix = builder.GetMatrix(); var player = new Player(); var printer = new StandardPrinter(); var result = printer.GetPrintFrame(matrix, player); Assert.AreNotEqual(result.Length, 0); }