public void Can_not_attack()
    {
        var whiteQueen = QueenAttack.Create(2, 4);
        var blackQueen = QueenAttack.Create(6, 6);

        Assert.False(QueenAttack.CanAttack(whiteQueen, blackQueen));
    }
    public void Can_attack_on_same_row()
    {
        var whiteQueen = QueenAttack.Create(2, 4);
        var blackQueen = QueenAttack.Create(2, 6);

        Assert.True(QueenAttack.CanAttack(whiteQueen, blackQueen));
    }
    public void Can_attack_on_same_column()
    {
        var whiteQueen = QueenAttack.Create(4, 5);
        var blackQueen = QueenAttack.Create(2, 5);

        Assert.True(QueenAttack.CanAttack(whiteQueen, blackQueen));
    }
    public void Can_attack_on_fourth_diagonal()
    {
        var whiteQueen = QueenAttack.Create(2, 2);
        var blackQueen = QueenAttack.Create(5, 5);

        Assert.True(QueenAttack.CanAttack(whiteQueen, blackQueen));
    }
    public void Can_attack_on_third_diagonal()
    {
        var whiteQueen = QueenAttack.Create(2, 2);
        var blackQueen = QueenAttack.Create(1, 1);

        Assert.True(QueenAttack.CanAttack(whiteQueen, blackQueen));
    }
Пример #6
0
    public override bool Equals(object obj)
    {
        QueenAttack other = obj as QueenAttack;

        if (other == null)
        {
            return(false);
        }

        return(Row == other.Row && Column == other.Column);
    }
Пример #7
0
    public static bool CanAttack(QueenAttack queen1, QueenAttack queen2)
    {
        if (queen1 == null || queen2 == null || queen1.Equals(queen2))
        {
            throw new ArgumentException();
        }

        if (queen1.Row != queen2.Row &&
            queen1.Column != queen2.Column &&
            Math.Abs(queen1.Row - queen2.Row) != Math.Abs(queen1.Column - queen2.Column))
        {
            return(false);
        }

        return(true);
    }
Пример #8
0
        public ActionResult Result()
        {
            int inputX1 = Int32.Parse(Request.Form["queen-x"]);
            int inputY1 = Int32.Parse(Request.Form["queen-y"]);

            int inputX2 = Int32.Parse(Request.Form["target-x"]);
            int inputY2 = Int32.Parse(Request.Form["target-y"]);

            QueenAttack newQueenAttack = new QueenAttack();

            bool myQueenAttack = newQueenAttack.CanAttack
                                     (inputX1, inputY1, inputX2, inputY2);

            if (myQueenAttack == false)
            {
                return(View("../QueenAttack/ResultFalse"));
            }
            else
            {
                return(View("../QueenAttack/ResultTrue"));
            }
        }
Пример #9
0
        public void QueenAttackAnalyzer_XAxisComparison_True()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(true, testQueenAttack.QueenAttackAnalyzer(1, 2, 1, 4));
        }
 public void Queen_must_have_positive_column()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => QueenAttack.Create(2, -2));
 }
 public void Queen_must_have_column_on_board()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => QueenAttack.Create(4, 8));
 }
Пример #12
0
        public void CanQueenAttack_Vertical_True()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(true, testQueenAttack.CanQueenAttack(0, 0, 0, 1));
        }
 public void checkXCoordinates_test_true()
 {
     int[] queenCoordtest  = new int[] { 1, 2 };
     int[] playerCoordtest = new int[] { 1, 4 };
     Assert.AreEqual(true, QueenAttack.checkCoordinates(queenCoordtest, playerCoordtest));
 }
 public void Queen_with_a_valid_position()
 {
     var actual = QueenAttack.Create(2, 2);
 }
Пример #15
0
        public void CanQueenAttack_Diagonal_EdgeOfBoard_True()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(true, testQueenAttack.CanQueenAttack(0, 0, 7, 7));
        }
Пример #16
0
 public void QueenCanAttack_XMinusXEqualsYMinusY()
 {
     Assert.AreEqual(true, QueenAttack.QueenCanAttack(3, 6, 6, 3));
 }
        public void CanAttackDiagonal_True()
        {
            QueenAttack testQueen = new QueenAttack();

            Assert.IsTrue(testQueen.CanAttackDiagonal(1, 5));
        }
Пример #18
0
        public void QueenAttackCheck_PieceDiagonal_True()
        {
            QueenAttack newAttack = new QueenAttack();

            Assert.AreEqual(true, newAttack.QueenAttackCheck(7, 2, 3, 6));
        }
Пример #19
0
        public void CanQueenAttack_Diagonal_True()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(true, testQueenAttack.CanQueenAttack(4, 4, 2, 2));
        }
Пример #20
0
        public void QueenAttackCheck_PieceInSameY_True()
        {
            QueenAttack newAttack = new QueenAttack();

            Assert.AreEqual(true, newAttack.QueenAttackCheck(5, 2, 1, 2));
        }
Пример #21
0
        public void QueenAttackCheck_PieceInSameX_True()
        {
            QueenAttack newAttack = new QueenAttack();

            Assert.AreEqual(true, newAttack.QueenAttackCheck(1, 8, 1, 1));
        }
Пример #22
0
        public void CanQueenAttack_Horizontal_True()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(true, testQueenAttack.CanQueenAttack(0, 0, 1, 0));
        }
Пример #23
0
        public void QueenAttackAnalyzer_DiagAxisComparison_True()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(true, testQueenAttack.QueenAttackAnalyzer(10, 9, 3, 2));
        }
        public void CanAttackHorizontal_True()
        {
            QueenAttack testQueen = new QueenAttack();

            Assert.IsTrue(testQueen.CanAttackHorizontal(10, 3));
        }
Пример #25
0
 public void QueenCanNotAttack()
 {
     Assert.AreEqual(false, QueenAttack.QueenCanAttack(7, 0, 6, 7));
 }
Пример #26
0
 public void Queen_with_a_valid_position_does_not_throw_exception()
 {
     var actual = QueenAttack.Create(2, 2);
 }
        public void CanAttackVertical_True()
        {
            QueenAttack testQueen = new QueenAttack();

            Assert.IsTrue(testQueen.CanAttackVertical(3, 8));
        }
Пример #28
0
        public void CanQueenAttack_Diagonal_Y_False()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(false, testQueenAttack.CanQueenAttack(0, 0, 2, 1));
        }
Пример #29
0
        public void TestCanAttack()
        {
            QueenAttack testQueenAttack = new QueenAttack();

            Assert.AreEqual(true, testQueenAttack.CanAttack(2, 2, 3, 4));
        }
Пример #30
0
 public void QueenCanAttack_YEqualsY()
 {
     Assert.AreEqual(true, QueenAttack.QueenCanAttack(2, 4, 3, 4));
 }