public void ShouldGetBuildOrders() { BotsService service; BuildOrder[] result; IBuildOrderModule subModule; subModule = Substitute.For <IBuildOrderModule>(); subModule.GetBuildOrders(Arg.Any <int>()).Returns(new BuildOrder[] { new BuildOrder() { BuildOrderID = 1 }, new BuildOrder() { BuildOrderID = 2 }, new BuildOrder() { BuildOrderID = 3 } }); service = new BotsService(NullLogger.Instance, null, null, null, null, subModule, null, null); result = service.GetBuildOrders(1); Assert.IsNotNull(result); Assert.AreEqual(3, result.Length); Assert.IsTrue(result.All((item) => item != null)); }
public void ShouldNotGetBuildOrdersAndLogError() { MemoryLogger logger; BotsService service; IBuildOrderModule subModule; subModule = Substitute.For <IBuildOrderModule>(); subModule.GetBuildOrders(Arg.Any <int>()).Returns((id) => { throw new PIODataException("UnitTestException", null, 1, "UnitTest", "UnitTest"); }); logger = new MemoryLogger(); service = new BotsService(logger, null, null, null, null, subModule, null, null); Assert.ThrowsException <FaultException>(() => service.GetBuildOrders(1)); Assert.IsNotNull(logger.Logs.FirstOrDefault(item => (item.Level == LogLevels.Error) && (item.ComponentName == service.ModuleName))); }