public void PaySlip_PlacedInside_PlacedOutside() { var paySlip = new PaySlipEngine.NSWPaySlipEngine(); paySlip.Place(2, 2, Direction.EAST); paySlip.Place(6, 2, Direction.EAST); var result = paySlip.Report(); Assert.AreEqual("2,2,EAST", paySlip.Report()); }
public void PaySlip_Not_Placed_And_Moved() { var paySlip = new PaySlipEngine.NSWPaySlipEngine(); paySlip.Move(); var result = paySlip.Report(); Assert.IsTrue(string.IsNullOrEmpty(result)); }
public void PaySlip_PlacedOutside() { var paySlip = new PaySlipEngine.NSWPaySlipEngine(); paySlip.Place(2, 5, Direction.EAST); paySlip.Move(); var result = paySlip.Report(); Assert.IsTrue(string.IsNullOrEmpty(result)); }
public void PaySlip_Placed_Moved_Turned_Report() { var paySlip = new PaySlipEngine.NSWPaySlipEngine(); paySlip.Place(1, 2, Direction.EAST); paySlip.Move(); paySlip.Move(); paySlip.Left(); paySlip.Move(); Assert.AreEqual("3,3,NORTH", paySlip.Report()); }
/// <summary> /// Sends incoming command to paySlip. /// </summary> /// <param name="userInput">command for paySlip</param> /// <returns></returns> public string ExecuteSingleCommand(string userInput) { try { string output = userInput; CommandArguments arguments = new CommandArguments(); if (ParseCommand(userInput, arguments)) { switch (arguments.Instruction) { case Command.PLACE: _paySlip.Place(arguments.X, arguments.Y, arguments.Face); break; case Command.MOVE: _paySlip.Move(); break; case Command.LEFT: _paySlip.Left(); break; case Command.RIGHT: _paySlip.Right(); break; case Command.REPORT: output = _paySlip.Report(); Console.WriteLine(output); break; default: break; } } return(output); } catch (Exception) { throw; } }