public void ShouldNotGetOrderAndLogError() { OrderModule module; MemoryLogger logger; IDatabase database; logger = new MemoryLogger(); database = Substitute.For <IDatabase>(); database.Execute <Order>(Arg.Any <ISelect>()).Returns((x) => { throw new Exception(); }); module = new OrderModule(logger, database); Assert.ThrowsException <PIODataException>(() => module.GetOrder(1)); Assert.IsNotNull(logger.Logs.FirstOrDefault(item => (item.Level == LogLevels.Error) && (item.ComponentName == module.ModuleName))); }
public void ShouldGetOrder() { OrderModule module; Order result; IDatabase database; database = Substitute.For <IDatabase>(); database.Execute <Order>(Arg.Any <ISelect>()).Returns(new Order[] { new Order() { OrderID = 1 } }); module = new OrderModule(NullLogger.Instance, database); result = module.GetOrder(1); Assert.IsNotNull(result); Assert.AreEqual(1, result.OrderID); }