3#define DOCTEST_CONFIG_IMPLEMENT
5#include "doctest_utils.h"
9DOCTEST_TEST_CASE(
"CanopyGenerator Homogeneous Canopy Generation") {
12 canopygenerator_0.disableMessages();
15 DOCTEST_CHECK_NOTHROW(canopygenerator_0.buildCanopy(params_0));
18 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
19 DOCTEST_CHECK(!all_UUIDs.empty());
24DOCTEST_TEST_CASE(
"CanopyGenerator Spherical Crowns Canopy Generation") {
27 canopygenerator_1.disableMessages();
30 DOCTEST_CHECK_NOTHROW(canopygenerator_1.buildCanopy(params_1));
33 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
34 DOCTEST_CHECK(!all_UUIDs.empty());
39DOCTEST_TEST_CASE(
"CanopyGenerator VSP Grapevine Canopy Generation") {
42 canopygenerator_2.disableMessages();
46 DOCTEST_CHECK_NOTHROW(canopygenerator_2.buildCanopy(params_2));
49 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
50 DOCTEST_CHECK(!all_UUIDs.empty());
55DOCTEST_TEST_CASE(
"CanopyGenerator Split Trellis Grapevine Canopy Generation") {
58 canopygenerator_3.disableMessages();
62 DOCTEST_CHECK_NOTHROW(canopygenerator_3.buildCanopy(params_3));
65 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
66 DOCTEST_CHECK(!all_UUIDs.empty());
71DOCTEST_TEST_CASE(
"CanopyGenerator Unilateral Trellis Grapevine Canopy Generation") {
74 canopygenerator_4.disableMessages();
78 DOCTEST_CHECK_NOTHROW(canopygenerator_4.buildCanopy(params_4));
81 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
82 DOCTEST_CHECK(!all_UUIDs.empty());
87DOCTEST_TEST_CASE(
"CanopyGenerator Goblet Trellis Grapevine Canopy Generation") {
90 canopygenerator_5.disableMessages();
94 DOCTEST_CHECK_NOTHROW(canopygenerator_5.buildCanopy(params_5));
97 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
98 DOCTEST_CHECK(!all_UUIDs.empty());
103DOCTEST_TEST_CASE(
"CanopyGenerator Strawberry Canopy Generation") {
106 canopygenerator_7.disableMessages();
109 DOCTEST_CHECK_NOTHROW(canopygenerator_7.buildCanopy(params_7));
112 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
113 DOCTEST_CHECK(!all_UUIDs.empty());
118DOCTEST_TEST_CASE(
"CanopyGenerator Walnut Tree Canopy Generation") {
121 canopygenerator_8.disableMessages();
125 DOCTEST_CHECK_NOTHROW(canopygenerator_8.buildCanopy(params_8));
128 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
129 DOCTEST_CHECK(!all_UUIDs.empty());
134DOCTEST_TEST_CASE(
"CanopyGenerator Sorghum Plant Canopy Generation") {
137 canopygenerator_9.disableMessages();
140 DOCTEST_CHECK_NOTHROW(canopygenerator_9.buildCanopy(params_9));
143 std::vector<uint> all_UUIDs = context_test.
getAllUUIDs();
144 DOCTEST_CHECK(!all_UUIDs.empty());
149DOCTEST_TEST_CASE(
"CanopyGenerator Primitive Deletion Test") {
152 canopygenerator_6.disableMessages();
155 DOCTEST_CHECK_NOTHROW(canopygenerator_6.buildCanopy(params_6));
157 std::vector<uint> UUIDs_leaves =
flatten(canopygenerator_6.getLeafUUIDs(0));
158 DOCTEST_CHECK(UUIDs_leaves.size() > 23);
161 DOCTEST_CHECK_NOTHROW(context_test.
deletePrimitive(UUIDs_leaves.at(0)));
162 DOCTEST_CHECK_NOTHROW(context_test.
deletePrimitive(UUIDs_leaves.at(11)));
163 DOCTEST_CHECK_NOTHROW(context_test.
deletePrimitive(UUIDs_leaves.at(23)));
164 DOCTEST_CHECK_NOTHROW(context_test.
deletePrimitive(UUIDs_leaves.back()));
167 UUIDs_leaves =
flatten(canopygenerator_6.getLeafUUIDs(0));
170 for (
uint UUID: UUIDs_leaves) {
174 std::vector<uint> UUIDs_all = canopygenerator_6.getAllUUIDs(0);
177 for (
uint p: UUIDs_all) {
185 return helios::runDoctestWithValidation(argc, argv);