public void ValidPositionAndFacingIsOnTable() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.IsOnTable(); Assert.IsTrue(actual); }
public void NotInTableCannotMove() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); mockContext.Object.Position.X = mockSettings.Object.MinX - 1; //Make IsOnTable return false var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.CanMove(); Assert.IsFalse(actual); }
public void NullFacingIsNotOnTable() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); mockContext.Setup(mc => mc.Facing).Returns((Facing?)null); var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.IsOnTable(); Assert.IsFalse(actual); }
public void CanMoveWhenFacingWestButNotAtWestEdge() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); mockContext.Object.Position.X = mockSettings.Object.MinX + 1; mockContext.Setup(mc => mc.Facing).Returns(Facing.West); var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.CanMove(); Assert.IsTrue(actual); }
public void CannotMoveWhenFacingEastAtEastEdge() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); mockContext.Object.Position.X = mockSettings.Object.MaxX; mockContext.Setup(mc => mc.Facing).Returns(Facing.East); var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.CanMove(); Assert.IsFalse(actual); }
public void ValidPositionIsOnTable_SameAsMaxY() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); var position = mockContext.Object.Position; position.Y = mockSettings.Object.MaxY; var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.IsOnTable(); Assert.IsTrue(actual); }
public void InvalidPositionIsNotOnTable_BiggerThanMaxY() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); var position = mockContext.Object.Position; position.Y = mockSettings.Object.MaxY + 1; var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.IsOnTable(); Assert.IsFalse(actual); }
public void FromWestTurnRightShouldBeNorth() { GetValidContextAndSettingWhichOnTable(out var context, out var settings); context.Facing = Facing.West; var expect = Facing.North; var service = new ToyRobotService(context, settings); service.Turn(Direction.Right); var actual = context.Facing; Assert.AreEqual(expect, actual); }
public void FromSouthTurnLeftShouldBeEast() { GetValidContextAndSettingWhichOnTable(out var context, out var settings); context.Facing = Facing.South; var expect = Facing.East; var service = new ToyRobotService(context, settings); service.Turn(Direction.Left); var actual = context.Facing; Assert.AreEqual(expect, actual); }
public void MoveWestDecreaseOneOfX() { GetValidMockContextAndSettingWhichOnTable(out var mockContext, out var mockSettings); mockContext.Setup(mc => mc.Facing).Returns(Facing.West); var expect = mockContext.Object.Position.X - 1; var service = new ToyRobotService(mockContext.Object, mockSettings.Object); service.Move(); var actual = mockContext.Object.Position.X; Assert.AreEqual(expect, actual); }
public void GetFacingShouldBeSameWithContext() { var mockContext = new Mock <IToyRobotContext>(); var mockSettings = new Mock <ITableTopSettings>(); var facing = Facing.South; mockContext.Setup(mc => mc.Facing).Returns(facing); var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.GetFacing(); Assert.AreEqual(facing, actual); }
public static void Main(string[] args) { var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly()); XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config")); try { log.Info("INIT - TOY ROBOT"); var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); var configuration = builder.Build(); ToyRobotService _toyRobot = new ToyRobotService(); log.Info("SETUP - TOY ROBOT"); int width = int.Parse(configuration["width"]); int height = int.Parse(configuration["height"]); _toyRobot.SetWidth(width); _toyRobot.SetHeight(height); log.Info("START - TOY ROBOT"); while (1 == 1) { try { var output = _toyRobot.SendCommand(Console.ReadLine()); if (output != null) { Console.WriteLine(output); } } catch (Exception ex) { log.Error(ex.Message); } } } catch (Exception ex) { log.Error(ex.Message); } }
public void SetPlacePositionShouldSaveToContext() { var context = new ToyRobotContext(); var mockSettings = new Mock <ITableTopSettings>(); var service = new ToyRobotService(context, mockSettings.Object); var position = new Position() { X = 2, Y = 3 }; service.SetPlace(position, Facing.North); var actual = context.Position; Assert.AreEqual(position, actual); }
public void GetPositionShouldBeSameWithContext() { var mockContext = new Mock <IToyRobotContext>(); var mockSettings = new Mock <ITableTopSettings>(); var position = new Position() { X = 1, Y = 1 }; mockContext.Setup(mc => mc.Position).Returns(position); var service = new ToyRobotService(mockContext.Object, mockSettings.Object); var actual = service.GetPosition(); Assert.AreEqual(position, actual); }
public ToyRobotUnitTest() { _toyRobot = new ToyRobotService(); _toyRobot.SetWidth(5); _toyRobot.SetHeight(5); }