public void AvaliableMove_Knight() { // setup environment for test GameController.StartGame (); List<Piece> PL1 = GameController.Players [0].PieceList; List<Piece> PL2 = GameController.Players [1].PieceList; for (int i = 0; i < PL1.Count; i++) { PL1 [i].isDead = true; PL1 [i].X = -1; PL1 [i].Y = -1; PL2 [i].isDead = true; PL2 [i].X = -1; PL2 [i].Y = -1; } UtilityFunctions.CheckAvaiMoveOfAllPieces (); //test piece Piece testKnight = new Knight (1, 2, true); testKnight.AvailableMoves (); Assert.IsTrue (hasContain (testKnight.AvaliableMove_X, testKnight.AvaliableMove_Y, 0, 0)); Assert.IsTrue (hasContain (testKnight.AvaliableMove_X, testKnight.AvaliableMove_Y, 2, 0)); Assert.IsTrue (hasContain (testKnight.AvaliableMove_X, testKnight.AvaliableMove_Y, 3, 1)); Assert.IsTrue (hasContain (testKnight.AvaliableMove_X, testKnight.AvaliableMove_Y, 3, 3)); Assert.IsTrue (hasContain (testKnight.AvaliableMove_X, testKnight.AvaliableMove_Y, 2, 4)); Assert.IsTrue (hasContain (testKnight.AvaliableMove_X, testKnight.AvaliableMove_Y, 0, 4)); Piece testKnight2 = new Knight (3, 5, false); testKnight2.AvailableMoves (); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 2, 3)); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 4, 3)); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 5, 4)); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 5, 6)); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 4, 7)); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 2, 7)); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 1, 6)); Assert.IsTrue (hasContain (testKnight2.AvaliableMove_X, testKnight2.AvaliableMove_Y, 1, 4)); }
public void Attack_Knight() { // setup environment for test GameController.StartGame (); List<Piece> PL1 = GameController.Players [0].PieceList; List<Piece> PL2 = GameController.Players [1].PieceList; for (int i = 0; i < PL1.Count; i++) { PL1 [i].isDead = true; PL1 [i].X = -1; PL1 [i].Y = -1; PL2 [i].isDead = true; PL2 [i].X = -1; PL2 [i].Y = -1; } UtilityFunctions.CheckAvaiMoveOfAllPieces (); //test piece Piece testKnight = new Knight (3, 5, true); Piece testPawn = null; Piece testPawn2 = null; //get a pwan from write player for test attack foreach (Piece p in PL1) { if (p.type == PieceType.Pawn) { testPawn = p; break; } } testPawn.isDead = false; testPawn.X = 2; testPawn.Y = 3; testKnight.AvailableMoves (); testKnight.Move (2, 3); Assert.AreEqual (true, testPawn.isDead); //get a pwan from black player for test attack foreach (Piece p in PL2) { if (p.type == PieceType.Pawn) { testPawn2 = p; break; } } testPawn2.isDead = false; testPawn2.X = 1; testPawn2.Y = 5; testKnight.AvailableMoves (); testKnight.Move (1, 5); Assert.AreEqual (false, testPawn2.isDead); }