public void PrintTissue_CellPrintIsCalled_ForEachCell(
     [Frozen][MockCellTissueCreation(50)] Tissue2D tissue,
     TissuePrinter sut)
 {
     sut.PrintTissue();
     VerifyCellStringencoderIsCalledForEachCell(tissue);
 }
Exemple #2
0
        private static void Main(string[] args)
        {
            int maxX            = 50;
            int maxY            = 10;
            var eventAggregator = new EventAggregator();
            var cellFactory     = new DefaultCellFactory();

            var germFactory = new InfectiousGermFactory(eventAggregator);
            var tissueMap   = new Tissue2DFactory(cellFactory, germFactory, new FisherYatesShuffle())
                              .Create(maxX, maxY, 0.7f, 0.05f);
            var cellStringEncoder = new CellStringEncoder();
            var roundBasedGame    = new RoundBasedGame(new TissueGrowthMechanism(), new RandomInfectionPropagation(germFactory, eventAggregator),
                                                       eventAggregator, false);

            var rounds = new List <TissuePrinter>();

            for (int i = 0; i < 50; i++)
            {
                var printer = new TissuePrinter(tissueMap, cellStringEncoder);
                rounds.Add(printer);
                tissueMap = roundBasedGame.Advance(tissueMap);
            }

            foreach (var round in rounds)
            {
                Console.Clear();
                round.PrintTissue();
                Thread.Sleep(500);
            }

            Console.ReadKey();
        }
 public void PrintTissue_CellPrintIsCalled_CorrectNumberOfTimes2(
     [Frozen] ICell cell,
     //be sure to freeze it, otherwise a new tissue is created for parameters and stuff
     [Frozen][MockCellTissueCreation] Tissue2D tissue,
     TissuePrinter sut)
 {
     sut.PrintTissue();
     VerifyCellStringencoderIsCalledForTotalCountTimes(cell, tissue);
 }