Ejemplo n.º 1
0
        public void AddCanopy_NoCanopyBefore_CanopyAddedAndCursorMoved()
        {
            // Add a canopy

            Gramene g        = new Gramene();
            int     canopyId = g.TestAddCanopy();

            // Compare the expected scale of the canopy and the actual one.

            int scaleOfCanopy = g.labelsOfScales.FirstOrDefault(x => x.Value == "canopy").Key;

            Assert.AreEqual(1, scaleOfCanopy);

            Assert.AreEqual(1, g.Scale(canopyId));

            // Verify that the components are correct.

            CollectionAssert.AreEqual(new List <int>()
            {
                canopyId
            }, g.Components(0));

            // Verify that the cursor moved to the newly created canopy.

            Assert.AreEqual(canopyId, g.GetCursor());

            // Verify that the label of the canopy is "canopy".

            Assert.AreEqual("canopy", g.GetVertexProperties(canopyId)["label"]);
        }
Ejemplo n.º 2
0
        public void GetPlantLeafNumber_TwoPlants_CorrectTotal()
        {
            Gramene g = new Gramene();

            // Create a plant with two axes

            g.TestAddCanopy();
            g.TestAddPlant();
            g.TestAddRoot();
            g.TestAddShoot();

            int axis1 = g.TestAddAxis();

            // This axis contains 5 leaves

            for (int i = 0; i < 5; i++)
            {
                g.AddLeaf();
            }

            // The second axis contains one leaf

            int axis2 = g.TestAddAxis();

            g.AddLeaf();

            // Create a second plant with one axis and two leaves

            g.TestAddPlant();
            g.TestAddRoot();
            g.TestAddShoot();
            int axis3 = g.TestAddAxis();

            g.AddLeaf();
            g.AddLeaf();

            // Verify that we get the right number of leaves per axis

            Assert.AreEqual(5, g.GetLeafNumber(axis1));
            Assert.AreEqual(1, g.GetLeafNumber(axis2));
            Assert.AreEqual(2, g.GetLeafNumber(axis3));

            // Verify that the total leaf number is different for each plant

            g.SetCursor(axis1);
            Assert.AreEqual(5 + 1, g.GetPlantLeafNumber());

            g.SetCursor(axis3);
            Assert.AreEqual(2, g.GetPlantLeafNumber());
        }
Ejemplo n.º 3
0
        public void GetPlantLeafNumber_TwoAxes_CorrectTotal()
        {
            Gramene g = new Gramene();

            // Create a plant with 2 axes

            g.TestAddCanopy();
            g.TestAddPlant();
            g.TestAddRoot();
            g.TestAddShoot();

            int axis1 = g.TestAddAxis();

            // First axis contains 5 leaves

            for (int i = 0; i < 5; i++)
            {
                g.AddLeaf();
            }

            // Second axis contains 2 leaves

            int axis2 = g.TestAddAxis();

            g.AddLeaf();
            g.AddLeaf();

            // Verify that we get the right number of leaves per axis

            Assert.AreEqual(5, g.GetLeafNumber(axis1));
            Assert.AreEqual(2, g.GetLeafNumber(axis2));
            Assert.AreEqual(2, g.GetLeafNumber());

            // Verify that the total is the sum of both axes

            Assert.AreEqual(7, g.GetPlantLeafNumber());
        }