public void ProgressCommand_Communicates_Progress() { TestCommunicator communicator = CreateCommunicator(); Navigator navigator = CreateNavigator(); PlayerStatusRepository playerStatus = CreatePlayerStatusRepository(); ProgressPhrases phrases = TestPhraseBuilder.Build <ProgressPhrases>(); ProgressCommand sut = new ProgressCommand(communicator, navigator, playerStatus, phrases); Celestial celestial = Build.A.Celestial; List <StarSystem> systems = Build.A.StarSystem.WithCelestials(celestial).InAList(); navigator.PlanExpedition(systems); TestEvent testEvent = Build.An.Event.WithEvent(sut.SupportedCommand); sut.Handle(testEvent); communicator.MessagesCommunicated[0].Should().Be(phrases.Progress.Single()); communicator.MessagesCommunicated[1].Should().Be(phrases.SystemsScanned.Single()); communicator.MessagesCommunicated[2].Should().Be(phrases.CreditsEarned.Single()); }
public ProgressCommand(ICommunicator communicator, INavigator navigator, IPlayerStatus playerStatus, ProgressPhrases phrases) { _navigator = navigator; _communicator = communicator; _playerStatus = playerStatus; _progressPhrases = PhraseBook.Ingest(phrases.Progress); _systemsScannedPhrases = PhraseBook.Ingest(phrases.SystemsScanned); }