public void Color_Should_Return_CorrectValues(string pgn, ChessboardControl.ChessColor expected)
        {
            //	Arrange
            SUT chessSquare;

            //	Act
            chessSquare = new SUT(pgn);

            //	Assert
            Assert.AreEqual(expected, chessSquare.Color);
        }
        public void AlgebraicNotation_Should_Return_CorrectValues(ChessboardControl.ChessFile file, ChessboardControl.ChessRank rank, string expectedValue)
        {
            //	Arrange
            SUT    chessSquare;
            string actual;

            //	Act
            chessSquare = new SUT(file, rank);
            actual      = chessSquare.AlgebraicNotation;

            //	Assert
            Assert.AreEqual(expectedValue, actual);
        }
        public void Clone_Should_ReturnProperlyInitializedClass()
        {
            //	Arrange
            ChessboardControl.ChessFile originalFile = ChessboardControl.ChessFile.e;
            ChessboardControl.ChessRank originalRank = ChessboardControl.ChessRank._2;
            SUT originalSquare;
            SUT clonedSquare;

            //	Act
            originalSquare      = new SUT(originalFile, originalRank);
            clonedSquare        = originalSquare.Clone();
            originalSquare.File = ChessboardControl.ChessFile.a;
            originalSquare.Rank = ChessboardControl.ChessRank._4;

            //	Assert
            Assert.AreEqual(originalFile, clonedSquare.File);
            Assert.AreEqual(originalRank, clonedSquare.Rank);
        }
        public void Equal_Operator_Should_Return_CorrectValues()
        {
            //	Arrange
            SUT firstSquare;
            SUT secondSquare;
            SUT nullFirstSquare  = null;
            SUT nullSecondSquare = null;

            //  Act
            firstSquare  = new SUT("e2");
            secondSquare = new SUT("e2");

            //	Assert
            Assert.IsTrue(firstSquare == firstSquare);
            Assert.IsTrue(nullFirstSquare == nullSecondSquare);
            Assert.IsFalse(nullFirstSquare == secondSquare);
            Assert.IsFalse(firstSquare == nullSecondSquare);
            Assert.IsTrue(firstSquare == secondSquare);
        }