Example #1
0
        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());
        }
Example #2
0
        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);
        }