예제 #1
0
        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)));
        }
예제 #2
0
        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);
        }