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()); }
public void AddRoot_PlantDoesntExist_PlantCreatedAndRootAdded() { Gramene g = new Gramene(); int rootId = g.TestAddRoot(); // Verify that the canopy is created. int canopy = rootId; while (g.Scale(canopy) != 1) { canopy = (int)g.Complex(canopy); } Assert.AreEqual(1, g.Scale(canopy)); CollectionAssert.AreEqual(new List <int>() { canopy }, g.Components(0)); // Verify that the plant is created. int plant = (int)g.Complex(rootId); Assert.AreEqual(2, g.Scale(plant)); string plantLabel = g.GetVertexProperties(plant)["label"]; Assert.AreEqual("plant0", plantLabel); // Verify that the cursor is placed on the shoot. Assert.AreEqual(rootId, g.GetCursor()); }
public void AddRoot_PlantExists_RootCreated() { Gramene g = new Gramene(); int plantId = g.TestAddPlant(); Assert.AreEqual(plantId, g.GetCursor()); int rootId = g.TestAddRoot(); Assert.AreEqual(rootId, g.GetCursor()); // Verification of the scale. Assert.AreEqual(g.Scale(plantId) + 1, g.Scale(rootId)); // Verification of the label. string plantNb = g.GetVertexProperties(plantId)["label"].Substring(5); Assert.AreEqual("root" + plantNb, g.GetVertexProperties(rootId)["label"]); // Verification of the complex. Assert.AreEqual(plantId, g.Complex(rootId)); }
public void AddRoot_PlantAlreadyHasRoot_NewPlantCreatedAndRootAdded() { Gramene g = new Gramene(); // First root created. int rootId1 = g.TestAddRoot(); int plantId1 = (int)g.Complex(rootId1); int canopyId1 = (int)g.Complex(plantId1); // Second root created. int rootId2 = g.TestAddRoot(); int plantId2 = (int)g.Complex(rootId2); int canopyId2 = (int)g.Complex(plantId2); // Verify that the plants aren't the same but the canopy is. Assert.AreEqual(canopyId1, canopyId2); Assert.AreNotEqual(plantId1, plantId2); Assert.AreEqual("root0", g.GetVertexProperties(rootId1)["label"]); Assert.AreEqual("root1", g.GetVertexProperties(rootId2)["label"]); }
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()); }