public void TestStringConversion() { Assert.AreEqual(PieceType.King, PieceTypeMethods.Parse("king")); Assert.AreEqual(PieceType.King, PieceTypeMethods.Parse("KING")); Assert.AreEqual(PieceType.Queen, PieceTypeMethods.Parse("queen")); Assert.AreEqual(PieceType.Queen, PieceTypeMethods.Parse("QUEEN")); Assert.AreEqual(PieceType.Bishop, PieceTypeMethods.Parse("bishop")); Assert.AreEqual(PieceType.Bishop, PieceTypeMethods.Parse("BISHOP")); Assert.AreEqual(PieceType.Knight, PieceTypeMethods.Parse("knight")); Assert.AreEqual(PieceType.Knight, PieceTypeMethods.Parse("KNIGHT")); Assert.AreEqual(PieceType.Rook, PieceTypeMethods.Parse("rook")); Assert.AreEqual(PieceType.Rook, PieceTypeMethods.Parse("ROOK")); Assert.AreEqual(PieceType.Rook, PieceTypeMethods.Parse("castle")); Assert.AreEqual(PieceType.Rook, PieceTypeMethods.Parse("CASTLE")); Assert.AreEqual(PieceType.Pawn, PieceTypeMethods.Parse("pawn")); Assert.AreEqual(PieceType.Pawn, PieceTypeMethods.Parse("PAWN")); }
public MoveCommand(IReadOnlyDictionary <string, IReadOnlyList <string> > commandParams) : this() { IReadOnlyList <string> paramsList; if (Type == CommandType.Move) { if (commandParams.TryGetValue("piece", out paramsList)) { Piece = PieceTypeMethods.Parse(paramsList.FirstOrDefault()); } var destLetter = commandParams["destinationLetter"].FirstOrDefault(); var destNumber = commandParams["destinationNumber"].FirstOrDefault(); Destination = new Position(destLetter, destNumber); var destUsedNato = commandParams["destinationUsedNato"].FirstOrDefault(); DestinationUsedNatoAlphabet = destUsedNato.Equals("true", StringComparison.OrdinalIgnoreCase); } if (Type == CommandType.Move || Type == CommandType.ConfirmPiece) { string posLetter = null; string posNumber = null; string posUsedNato = null; if (commandParams.TryGetValue("positionLetter", out paramsList)) { posLetter = paramsList.FirstOrDefault(); } if (commandParams.TryGetValue("positionNumber", out paramsList)) { posNumber = paramsList.FirstOrDefault(); } if (commandParams.TryGetValue("positionUsedNato", out paramsList)) { posUsedNato = paramsList.FirstOrDefault(); } if (!String.IsNullOrWhiteSpace(posLetter) && !String.IsNullOrWhiteSpace(posNumber) && !String.IsNullOrWhiteSpace(posUsedNato)) { Position = new Position(posLetter, posNumber); PositionUsedNatoAlphabet = posUsedNato.Equals("true", StringComparison.OrdinalIgnoreCase); } } }
public ConfirmPieceCommand(IReadOnlyDictionary <string, IReadOnlyList <string> > commandParams) : this() { IReadOnlyList <string> paramsList; if (commandParams.TryGetValue("piece", out paramsList)) { Piece = PieceTypeMethods.Parse(paramsList.FirstOrDefault()); } string posLetter = null; string posNumber = null; string posUsedNato = null; if (commandParams.TryGetValue("pieceLetter", out paramsList)) { posLetter = paramsList.FirstOrDefault(); } if (commandParams.TryGetValue("pieceNumber", out paramsList)) { posNumber = paramsList.FirstOrDefault(); } if (commandParams.TryGetValue("usedNato", out paramsList)) { posUsedNato = paramsList.FirstOrDefault(); } if (!String.IsNullOrWhiteSpace(posLetter) && !String.IsNullOrWhiteSpace(posNumber) && !String.IsNullOrWhiteSpace(posUsedNato)) { Position = new Position(posLetter, posNumber); PositionUsedNatoAlphabet = posUsedNato.Equals("true", StringComparison.OrdinalIgnoreCase); } else { throw new ArgumentException($"Cannot create valid {nameof(ConfirmPieceCommand)} without a valid {nameof(Position)}"); } }
public void TestFailedStringConversion() { PieceTypeMethods.Parse(""); PieceTypeMethods.Parse("test"); }