public void PlotExpedition_With_Conditions_Passing_Plots_Expedition_And_Communicates()
        {
            TestEvent testEvent = Build.An.Event.WithEvent(_sut.SupportedCommand);

            _navigator.GetAllExpeditionSystems().Should().BeEmpty();

            _sut.Handle(testEvent);

            _navigator.GetAllExpeditionSystems().ShouldBeEquivalentTo(_starSystems);
            _communicator.MessagesCommunicated.Single().Should().Contain("Plotted");
        }
        public void ExtendExpedition_With_Invalid_Data_Handles_Gracefully()
        {
            _userDataService.StarSystems = null;

            TestEvent testEvent = Build.An.Event.WithEvent(_sut.SupportedCommand);

            _navigator.GetAllExpeditionSystems().Should().BeEmpty();

            _sut.Handle(testEvent);

            _navigator.GetAllExpeditionSystems().Should().BeEmpty();
            _navigator.ExpeditionStarted.Should().BeFalse();
            _communicator.MessagesCommunicated.Single().Should().Contain("UnableToPlot");
        }