public void Test_AddPlant_ShouldSucceced(params Plant[] plants)
 {
     foreach (Plant plant in plants)
     {
         _plantGroup.AddPlant(plant);
     }
 }
        public void AddPlantToPlantGroup(string gardenName, string plantGroupName, string plantName, string accountID)
        {
            if (string.IsNullOrEmpty(gardenName))
            {
                throw new ArgumentException("message", nameof(gardenName));
            }

            if (string.IsNullOrEmpty(plantGroupName))
            {
                throw new ArgumentException("message", nameof(plantGroupName));
            }

            if (string.IsNullOrEmpty(plantName))
            {
                throw new ArgumentException("message", nameof(plantName));
            }

            Garden garden = GardenRepository.GetByName(gardenName, accountID);

            PlantGroup plantGroup = PlantGroupRepository.GetByName(plantGroupName, accountID);

            Plant plant = PlantRepository.GetByName(plantName);

            plantGroup.AddPlant(plant);
            PlantGroupRepository.AddPlantToPlantGroup(plantGroup, plant, accountID); //should be update
        }
            public void Test_PlantWithPassingRequirement_ShouldReturnEmptyList()
            {
                Plant plant1 = new Plant("plant 1");
                Plant plant2 = new Plant("plant 2");

                plant1.AddRequirement(new MockRequirement(true));
                _plantGroup.AddPlant(plant1);
                List <(Plant, List <IPlantRequirement>)> incompatiblePlants = _plantGroup.GetAllIncompatibilities(plant2);

                Assert.Empty(incompatiblePlants);
            }