public void ShouldThrowArgumentException_SetInvalidMatrixSize() { try { PuzzleField testField = new PuzzleField(-1); } catch (ArgumentException ex) { Assert.AreEqual("The matrix size must be a positive integer", ex.Message); throw; } }
public void ShouldBeEqual_FillPuzzleBodyMethodTest() { PuzzleField testField = new PuzzleField(3); List<Cell> expectedBody=new List<Cell>(); Cell firstCell=new Cell(); firstCell.Content = 1; firstCell.Row = 0; firstCell.Col = 0; Cell secondCell=new Cell(); secondCell.Content = 2; secondCell.Row = 0; secondCell.Col = 1; Cell thirdCell=new Cell(); thirdCell.Content = 3; thirdCell.Row = 0; thirdCell.Col = 2; Cell fourthCell=new Cell(); fourthCell.Content = 4; fourthCell.Row = 1; fourthCell.Col = 0; Cell fifthCell=new Cell(); fifthCell.Content = 5; fifthCell.Row = 1; fifthCell.Col = 1; Cell sixthCell=new Cell(); sixthCell.Content = 6; sixthCell.Row = 1; sixthCell.Col = 2; Cell seventhCell=new Cell(); seventhCell.Content = 7; seventhCell.Row = 2; seventhCell.Col = 0; Cell eigthCell=new Cell(); eigthCell.Content = 8; eigthCell.Row = 2; eigthCell.Col = 1; Cell ninthCell=new Cell(); ninthCell.Content = 0; ninthCell.Row = 2; ninthCell.Col = 2; expectedBody.Add(firstCell); expectedBody.Add(secondCell); expectedBody.Add(thirdCell); expectedBody.Add(fourthCell); expectedBody.Add(fifthCell); expectedBody.Add(sixthCell); expectedBody.Add(seventhCell); expectedBody.Add(eigthCell); expectedBody.Add(ninthCell); Assert.AreEqual(expectedBody[6].Content, testField.Body[6].Content); }
/// <summary> /// This method render the game field in console. /// </summary> /// <param name="puzzleField">Array containing field values.</param> public static void PrintTheGameField(PuzzleField puzzleField) { Console.WriteLine(" -------------"); for (int row = 0; row < puzzleField.MatrixSize; row++) { Console.Write("| "); for (int col = 0; col < puzzleField.MatrixSize; col++) { int currentCelNumber = (puzzleField.MatrixSize * row) + col; puzzleField.Body[currentCelNumber].Print(); } Console.WriteLine("|"); } Console.WriteLine(" -------------"); }
/// <summary> /// This method make a single instance of PuzzleField. /// </summary> /// <param name="size">The size of PuzzleField.</param> /// <returns>Returns single instance of PuzzleField.</returns> public static PuzzleField GetInstance(int size) // implementation of Singleton design pattern { if (instance == null) { lock (mutex) // lock the object because of possible two threads requests { if (instance == null) { instance = new PuzzleField(size); } } } return instance; }
/// <summary> /// Constructor of PuzzleFieldManager. /// </summary> /// <param name="field">The Current PuzzleField for manage.</param> public PuzzleFieldManager(PuzzleField field) { this.Field = field; }