コード例 #1
0
        public void DeleteThreadFromDatabase()
        {
            var order = UnderTest.Model;

            UpdateOrder(order);

            var expectedThread = new
            {
                Length            = 2,
                ThreadReferenceId = 1
            };

            var thread = new OrderThread
            {
                Length            = expectedThread.Length,
                ThreadReferenceId = expectedThread.ThreadReferenceId
            };

            order.Threads = thread.AsList();
            UnderTest.SaveCommand.Execute(null);

            HasEntries <Order>(1);
            HasEntries <ThreadBase>(1);

            UnderTest.DeleteThreadCommand.Execute(thread);
            UnderTest.SaveCommand.Execute(null);

            HasEntries <Order>(1);
            HasEntries <ThreadBase>(0);
        }
コード例 #2
0
        public void SavingNewOrderWithThread()
        {
            var order = UnderTest.Model;

            UpdateOrder(order);

            var expectedThread = new
            {
                Length            = 2,
                ThreadReferenceId = 1
            };

            var thread = new OrderThread
            {
                Length            = expectedThread.Length,
                ThreadReferenceId = expectedThread.ThreadReferenceId
            };

            order.Threads = thread.AsList();
            UnderTest.SaveCommand.Execute(null);

            var dbOrder = _orderRepository.GetAll().Last();

            dbOrder.Should().BeEquivalentTo(order, opt => opt.Excluding(o => o.Threads));
            dbOrder.Threads.Should().HaveCount(1);
            dbOrder.Threads.Should().BeEquivalentTo(expectedThread);

            HasEntries <Order>(1);
            HasEntries <ThreadBase>(1);
        }
コード例 #3
0
        public void Create_thread_fail()
        {
            //Arrange
            AddThreadCommand command = null;

            //Act - Assert
            Assert.Throws <ArgumentNullException>(() => OrderThread.CreateNew(command));
        }
コード例 #4
0
ファイル: OrderTest.cs プロジェクト: sswistow/OrderManagement
        public void Finish_order_fail()
        {
            //Arrange
            var order = Order.CreateNew(new AddOrderCommand {
                State = OrderState.Waiting
            });
            AddThreadCommand command = null;

            //Act - Assert
            Assert.Throws <ArgumentNullException>(() => order.Finish(OrderThread.CreateNew(command)));
        }
コード例 #5
0
        public void Update_thread_interval_should_has_positive_value()
        {
            //Arrange
            var thread = OrderThread.CreateNew(new AddThreadCommand {
                State = OrderThreadState.Stopped
            });
            int interval = -100;

            //Act - Assert
            Assert.Throws <ArgumentException>(() => thread.UpdateInterval(interval));
        }
コード例 #6
0
        public void Create_thread_success()
        {
            //Arrange
            var command = new AddThreadCommand {
                State = OrderThreadState.Stopped
            };

            //Act
            var thread = OrderThread.CreateNew(command);

            //Assert
            Assert.NotNull(thread);
        }
コード例 #7
0
        public void Update_thread_interval_success()
        {
            //Arrange
            var thread = OrderThread.CreateNew(new AddThreadCommand {
                State = OrderThreadState.Stopped
            });
            int interval = 100;

            //Act
            thread.UpdateInterval(interval);

            //Assert
            Assert.NotNull(thread);
        }
コード例 #8
0
        public void DeleteThreadFromOrder()
        {
            var orderThread = new OrderThread
            {
                ThreadReference = ThreadReferences.Data[0]
            };

            var order = UnderTest.Model;

            order.Threads = orderThread.AsList();

            UnderTest.DeleteThreadCommand.Execute(orderThread);

            order.Threads.Should().BeEmpty();
        }
コード例 #9
0
ファイル: OrderTest.cs プロジェクト: sswistow/OrderManagement
        public void Finish_order_success()
        {
            //Arrange
            var order = Order.CreateNew(new AddOrderCommand {
                State = OrderState.Waiting
            });

            //Act
            order.Finish(OrderThread.CreateNew(new AddThreadCommand {
                State = OrderThreadState.Stopped
            }));

            //Assert
            Assert.NotNull(order);
        }
コード例 #10
0
 private OrderThread FakeThread()
 {
     return(OrderThread.CreateNew(FakeCommand()));
 }
コード例 #11
0
 public OrderThread AddNew(OrderThread thread)
 {
     return(_context.Threads.Add(thread).Entity);
 }
コード例 #12
0
ファイル: ThreadDTO.cs プロジェクト: sswistow/OrderManagement
 public ThreadDTO(OrderThread thread)
 {
     Id       = thread.Id;
     Interval = thread.Interval;
     State    = thread.State;
 }