예제 #1
0
        public void TestInitialize()
        {
            OrdinalModel model = OrdinalModel();

            Assert.IsTrue(model.Field.AllCells
                          .Count(cell => cell.Standing is TickerElement) == Count);
        }
        public OrdinalFieldViewModel(OrdinalModel model)
        {
            this.model       = model;
            model.TurnStart += () => OnPropertyChanged(nameof(Turn));

            int fieldSize = model.Field.Size;

            fieldViewModel = new CellViewModel[fieldSize, fieldSize];
            foreach (Cell cell in model.Field.AllCells)
            {
                fieldViewModel[cell.X, cell.Y] = new CellViewModel(this, cell);
            }
        }
예제 #3
0
        public void TestOrdinalModelTimeTicking()
        {
            OrdinalModel model = OrdinalModel();

            for (int i = 0; i < Turns; i++)
            {
                model.NextTurn();
            }

            Assert.IsTrue(model.Field.AllCells
                          .Select(cell => cell.Standing)
                          .OfType <TickerElement>()
                          .All(ticker => ticker.Turns == Turns));
        }
예제 #4
0
        private static OrdinalModel OrdinalModel()
        {
            FieldParameters parameters = new FieldParameters()
            {
                Size = 10
            };
            OrdinalModel model = new OrdinalModel(parameters);

            InitializationData data = new InitializationData(typeof(TickerElement))
            {
                Count           = Count,
                InitialazerType = typeof(RandomInitializer)
            };
            Initializer initializer = Initializer.FromInitializationData(data);

            model.Initialize(new[] { initializer });
            return(model);
        }