public void AddShoot_PlantExists_ShootCreated() { Gramene g = new Gramene(); int plantId = g.TestAddPlant(); Assert.AreEqual(plantId, g.GetCursor()); int shootId = g.TestAddShoot(); Assert.AreEqual(shootId, g.GetCursor()); // Verification of the scale. Assert.AreEqual(g.Scale(plantId) + 1, g.Scale(shootId)); // Verification of the label. string plantNb = g.GetVertexProperties(plantId)["label"].Substring(5); Assert.AreEqual("shoot" + plantNb, g.GetVertexProperties(shootId)["label"]); // Verification of the complex. Assert.AreEqual(plantId, g.Complex(shootId)); }
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 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"]); }
public void AddPlant_NewPlant_PlantAdded() { Gramene g = new Gramene(); Assert.AreEqual(0, g.GetCursor()); // Get the identifiers of the new plants. int firstPlant = g.TestAddPlant(); Assert.AreEqual(firstPlant, g.GetCursor()); int secondPlant = g.TestAddPlant(); int thirdPlant = g.TestAddPlant(); // Get the label of the plants. string firstLabel = g.GetVertexProperties(firstPlant)["label"]; string secondLabel = g.GetVertexProperties(secondPlant)["label"]; string thirdLabel = g.GetVertexProperties(thirdPlant)["label"]; // Make sure the labels correspond to the ones expected. Assert.AreEqual("plant0", firstLabel); Assert.AreEqual("plant1", secondLabel); Assert.AreEqual("plant2", thirdLabel); // Verify that all plants belong to scale number 2. Assert.AreEqual(2, g.Scale(firstPlant)); Assert.AreEqual(2, g.Scale(secondPlant)); Assert.AreEqual(2, g.Scale(thirdPlant)); // Verify that the complex of the plant is the canopy. Assert.AreEqual(1, g.Complex(firstPlant)); Assert.AreEqual(1, g.Complex(secondPlant)); Assert.AreEqual(1, g.Complex(thirdPlant)); }
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"]); }