コード例 #1
0
ファイル: InfectedCell.cs プロジェクト: maschmi/germgame
        public ICell Clone()
        {
            if (!_isAlive)
            {
                return(new NullCell());
            }

            var nextGenGerm = _germ.Replicate();

            nextGenGerm.Accept(this);
            return(new InfectedCell(!_germReplicationKillsCell, _selfSignal, _alertSignal, nextGenGerm));
        }
コード例 #2
0
ファイル: LyticVirusTest.cs プロジェクト: maschmi/germgame
        internal void VirusMaturesAfterTwoGenerationsSendsMessageAndTellsVisitorItIsMature(
            [Frozen] EventAggregator eventAggregator,
            IListenOn <GermGrowthMessage> listener,
            IGermVistor visitor,
            LyticVirus sut)
        {
            eventAggregator.Subscribe(listener);

            IGerm matureVirus = sut;

            for (int gen = 0; gen <= GenerationToMature; gen++)
            {
                matureVirus = matureVirus.Replicate();
            }

            VerifyGermIsMature(visitor, matureVirus);
            VerifyCorrectMessageIsSent(listener, matureVirus);
        }