public void EnemyColorTest() { var chD = new CheckerOnDesk(ColorType.White, CheckerStatus.Simple, new Point(1, 1)); var chD2 = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, new Point(1, 1)); var enemyColor1 = chD.EnemyColor(); var enemyColor2 = chD2.EnemyColor(); Assert.IsTrue(enemyColor1 == ColorType.Black); Assert.IsTrue(enemyColor2 == ColorType.White); }
public void IsEnemyTest() { Desk desk = new Desk(); desk.StartPosition(); Point p = new Point(2, 6); Point p2 = new Point(2, 7); Point p3 = new Point(5, 3); CheckerOnDesk chD = desk.GetCheckerOnDesk(p); Assert.AreEqual(false, desk.IsEnemy(chD, p2)); Assert.AreEqual(true, desk.IsEnemy(chD, p3)); }
public static string PrintChecker(CheckerOnDesk chD) { string s; if (chD.Status == CheckerStatus.Simple) { s = (chD.Color == ColorType.White) ? "☺" : "☻"; } else { s = (chD.Color == ColorType.White) ? "¤" : "♣"; } return(s); }
public void EqualsTest() { var chD = new CheckerOnDesk(ColorType.White, CheckerStatus.Simple, new Point(1, 1)); var chD2 = new CheckerOnDesk(ColorType.White, CheckerStatus.Simple, new Point(1, 1)); var chD3 = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, new Point(1, 1)); CheckerOnDesk chD4 = null; object chD5 = null; object chD6 = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, new Point(1, 1)); Assert.IsTrue(!chD.Equals(chD4)); Assert.IsTrue(!chD.Equals(chD5)); Assert.IsTrue(chD.Equals(chD2)); Assert.IsTrue(!chD.Equals(chD3)); Assert.IsTrue(!chD.Equals(chD6)); }
public void RemoveCheckerTest_2() { Desk desk = new Desk(); desk.StartPosition(); Point pp = new Point(4, 4); CheckerOnDesk chD = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, pp); desk.GetCheckersOnDesks.Add(chD); Point p1 = new Point(2, 2); Point p2 = new Point(5, 5); desk.RemoveChecker(p1, p2); Assert.IsTrue(desk.IsEmpty(pp)); Assert.IsNull(desk.GetCheckerOnDesk(pp)); }
public static void PrintDesk(Desk desk) { List <CheckerOnDesk> checkersOnDesk = desk.GetCheckersOnDesks; char[] ch = new[] { '┬', '─', '─', '─', '┬' }; char[] ch2 = new[] { '┼', '─', '─', '─', '┬' }; Console.Write(" "); for (int k = 1; k <= 8; k++) { Console.Write(ch, 0, 4); } Console.Write('┐'); Console.WriteLine(); for (int i = 7; i >= 0; i--) { Console.Write(i + " "); for (int j = 0; j < 8; j++) { Point p = new Point(i, j); if (desk.GetCheckerOnDesk(p) != null) { CheckerOnDesk chD = desk.GetCheckerOnDesk(p); Console.Write('│' + " " + PrintChecker(chD) + " "); } else { Console.Write('│' + " " + " " + " "); } } Console.Write('│'); Console.WriteLine(" "); Console.CursorLeft = 2; for (int k = 1; k <= 8; k++) { Console.Write(ch2, 0, 4); } Console.Write('┤'); Console.WriteLine(); } Console.WriteLine(" 0 1 2 3 4 5 6 7"); }
public void IsToKingMoveTest_1() { Desk desk = new Desk(); desk.StartPosition(); Point point1 = new Point(2, 2); List <Point> points1 = new List <Point> { new Point(3, 1), new Point(4, 0), new Point(3, 3), new Point(4, 4) }; CheckerOnDesk chD = desk.GetCheckerOnDesk(point1); Assert.IsTrue(desk.IsToKingMove(chD).SequenceEqual(points1)); }
public void PossibleChangeOnKingTest() { Desk desk = new Desk(); desk.StartPosition(); Point p1 = new Point(7, 5); Point p2 = new Point(0, 4); Point p3 = new Point(1, 1); CheckerOnDesk chD1 = new CheckerOnDesk(ColorType.White, CheckerStatus.Simple, p1); CheckerOnDesk chD2 = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, p2); CheckerOnDesk chD3 = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, p3); desk.PossibleChangeOnKing(chD1, p1); desk.PossibleChangeOnKing(chD2, p2); desk.PossibleChangeOnKing(chD3, p3); Assert.AreEqual(CheckerStatus.King, chD1.Status); Assert.AreEqual(CheckerStatus.King, chD2.Status); Assert.AreEqual(CheckerStatus.Simple, chD3.Status); }
public void TestMove_Beat() { Desk desk = new Desk(); desk.StartPosition(); ComputerIntelect computer = new ComputerIntelect(desk, ColorType.Black); Point p1; Point p2; Point p = new Point(4, 4); CheckerOnDesk chD = new CheckerOnDesk(ColorType.White, CheckerStatus.King, p); desk.GetCheckersOnDesks.Add(chD); computer.Move(); computer.LastMove(out p1, out p2); Assert.IsNotNull(p1); Assert.IsNotNull(p2); Assert.IsTrue(p1.X - p2.X == 2 && p2.Y - p1.Y == 2); }
public void MoveChekingTest_2() { Desk desk = new Desk(); desk.StartPosition(); Point pp = new Point(3, 3); CheckerOnDesk chD = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, pp); desk.GetCheckersOnDesks.Add(chD); Point p1 = new Point(2, 6); Point p2 = new Point(3, 7); bool isBeat = false; desk.MoveCheking(p1, p2, out isBeat, ColorType.White); Assert.IsTrue(isBeat == false); Assert.IsTrue(desk.IsEmpty(p1)); Assert.IsNull(desk.GetCheckerOnDesk(p1)); }
public void IsToBitTest() { Desk desk = new Desk(); desk.StartPosition(); Point p = new Point(3, 1); CheckerOnDesk chD = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, p); desk.GetCheckersOnDesks.Add(chD); Point pp = new Point(3, 3); CheckerOnDesk chDD = new CheckerOnDesk(ColorType.Black, CheckerStatus.Simple, pp); desk.GetCheckersOnDesks.Add(chDD); Point p1 = new Point(2, 2); CheckerOnDesk chD1 = desk.GetCheckerOnDesk(p1); List <Point> points1 = new List <Point> { new Point(4, 4), new Point(4, 0) }; Point p2 = new Point(2, 0); CheckerOnDesk chD2 = desk.GetCheckerOnDesk(p2); List <Point> points2 = new List <Point> { new Point(4, 2) }; Point p3 = new Point(1, 1); CheckerOnDesk chD3 = desk.GetCheckerOnDesk(p3); List <Point> points3 = new List <Point>(); Assert.IsTrue(desk.IsToBit(chD1).SequenceEqual(points1)); Assert.IsTrue(desk.IsToBit(chD2).SequenceEqual(points2)); Assert.IsTrue(desk.IsToBit(chD3).SequenceEqual(points3)); }
public void IsToKingBitTest_3() { Desk desk = new Desk(); Point p = new Point(1, 5); CheckerOnDesk chD = new CheckerOnDesk(ColorType.White, CheckerStatus.King, p); desk.GetCheckersOnDesks.Add(chD); Point pp = new Point(5, 1); CheckerOnDesk chDD = new CheckerOnDesk(ColorType.Black, CheckerStatus.King, pp); desk.GetCheckersOnDesks.Add(chDD); List <Point> points1 = new List <Point> { new Point(6, 0) }; List <Point> points2 = new List <Point> { new Point(0, 6) }; Assert.IsTrue(desk.IsToKingBit(chD).SequenceEqual(points1)); Assert.IsTrue(desk.IsToKingBit(chDD).SequenceEqual(points2)); }
public void EqualsTest_WrongParam() { var chD = new CheckerOnDesk(ColorType.White, CheckerStatus.Simple, new Point(1, 1)); Assert.IsTrue(!chD.Equals(5)); }