public async Task ToDoesNotExist_Exception()
        {
            var command = new CreateTransitionCommand {
                FromLocationId = 2, ToLocationId = 4
            };

            Task Act() => _handler.Handle(command, CancellationToken.None);

            var ex = await Record.ExceptionAsync(Act) as EntityNotFoundException;

            Assert.Null(_lastAddedTransition);
            Assert.NotNull(ex);
            Assert.Equal(4, ex.EntityId);
            Assert.IsType <EntityNotFoundException <Location> >(ex);
        }
        public async Task TransitionAlreadyExist_Exception()
        {
            var command = new CreateTransitionCommand {
                FromLocationId = 1, ToLocationId = 2
            };

            Task Act() => _handler.Handle(command, CancellationToken.None);

            var ex = await Record.ExceptionAsync(Act) as TransitionAlreadyExistsException;

            Assert.Null(_lastAddedTransition);
            Assert.NotNull(ex);
            Assert.Equal(1, ex.FromLocationId);
            Assert.Equal(2, ex.ToLocationId);
        }
        public async Task Ok()
        {
            var command = new CreateTransitionCommand {
                FromLocationId = 1, ToLocationId = 3
            };

            var transition = await _handler.Handle(command, CancellationToken.None);

            Assert.NotNull(transition);
            Assert.StrictEqual(_lastAddedTransition, transition);

            Assert.NotNull(transition.From);
            Assert.Equal(1, transition.From.Id);

            Assert.NotNull(transition.To);
            Assert.Equal(3, transition.To.Id);
        }