コード例 #1
0
        [AssertTraffic(AllocatedSizeInBytes = 2 * Mb)] // --assert
        public void WholeRunTraffic()
        {
            // --act
            var target = new PetriDish(160, 100, timer);

            for (var i = 0; i < 100; i++)
            {
                target.PerformOneStep();
            }
        }
コード例 #2
0
ファイル: Cell.cs プロジェクト: waleedlugod/GameOfLife
    void Start()
    {
        GetComponent <Renderer>().enabled = false;

        petriDish = transform.parent.GetComponent <PetriDish>();

        size = petriDish.cellSize;

        transform.localScale = new Vector2(1, 1) * size;
    }
コード例 #3
0
        public void DontRecreateArrays()
        {
            // --arrange
            var target = new PetriDish(160, 100, timer);

            var memoryPoint1 = dotMemory.Check();

            // --act
            target.PerformOneStep();

            // --assert
            dotMemory.Check(memory =>
                            Assert.That(memory.GetDifference(memoryPoint1)
                                        .GetNewObjects(where => where.Type.Is <Cell[, ]>())
                                        .ObjectsCount,
                                        Is.EqualTo(0)));
        }
コード例 #4
0
        public void AlgorithmTraffic()
        {
            // --arrange
            var target = new PetriDish(160, 100, timer);

            var memoryPoint1 = dotMemory.Check();

            // --act
            for (var i = 0; i < 100; i++)
            {
                target.PerformOneStep();
            }

            // --assert
            dotMemory.Check(memory =>
                            Assert.That(memory.GetTrafficFrom(memoryPoint1)
                                        .AllocatedMemory
                                        .ObjectsCount,
                                        Is.LessThan(100)));
        }
コード例 #5
0
        private void OnViewModelChanged(PetriDish oldValue, PetriDish newValue)
        {
            if (oldValue != null)
            {
                oldValue.Updated -= ViewModelOnUpdated;
            }

            if (newValue != null)
            {
                var width  = newValue.Cells.GetLength(0);
                var height = newValue.Cells.GetLength(1);

                canvas = new Canvas {
                    Background = BackgroundBrush
                };
                ellipses = new Ellipse[width, height];
                for (var i = 0; i < width; i++)
                {
                    for (var j = 0; j < height; j++)
                    {
                        var ellipse = new Ellipse
                        {
                            Width  = CellSize,
                            Height = CellSize,
                            Fill   = Brushes.Gray,
                            Margin = new Thickness(i * CellSize, j * CellSize, 0, 0)
                        };

                        ellipse.MouseLeftButtonDown += EllipseOnMouseMove;
                        ellipse.MouseMove           += EllipseOnMouseMove;

                        ellipses[i, j] = ellipse;
                        canvas.Children.Add(ellipse);
                    }
                }

                Content           = canvas;
                newValue.Updated += ViewModelOnUpdated;
                UpdateUi();
            }
        }
コード例 #6
0
ファイル: Bacteria.cs プロジェクト: rkovrigin/Bacterias
 void Start()
 {
     myRigidBody = GetComponent <Rigidbody2D>();
     petriDish   = FindObjectOfType <PetriDish>();
     sunlight    = FindObjectOfType <SunLight>();
 }