141 std::cout <<
"------- Test 1 -------" << std::endl;
142 std::vector<std::vector<double>> X1 = {{0.0, 0.0}, {0.25, 0.25},
143 {0.0, 0.5}, {0.5, 0.5},
144 {1.0, 0.5}, {1.0, 1.0}};
145 std::vector<int> Y1 = {1, 1, 1, 1, 2, 2};
147 std::vector<double> sample1 = {1.2, 1.2};
148 std::vector<double> sample2 = {0.1, 0.1};
149 std::vector<double> sample3 = {0.1, 0.5};
150 std::vector<double> sample4 = {1.0, 0.75};
151 assert(model1.predict(sample1, 2) == 2);
152 assert(model1.predict(sample2, 2) == 1);
153 assert(model1.predict(sample3, 2) == 1);
154 assert(model1.predict(sample4, 2) == 2);
155 std::cout <<
"... Passed" << std::endl;
156 std::cout <<
"------- Test 2 -------" << std::endl;
157 std::vector<std::vector<double>> X2 = {
158 {0.0, 0.0, 0.0}, {0.25, 0.25, 0.0}, {0.0, 0.5, 0.0}, {0.5, 0.5, 0.0},
159 {1.0, 0.5, 0.0}, {1.0, 1.0, 0.0}, {1.0, 1.0, 1.0}, {1.5, 1.5, 1.0}};
160 std::vector<int> Y2 = {1, 1, 1, 1, 2, 2, 3, 3};
162 std::vector<double> sample5 = {1.2, 1.2, 0.0};
163 std::vector<double> sample6 = {0.1, 0.1, 0.0};
164 std::vector<double> sample7 = {0.1, 0.5, 0.0};
165 std::vector<double> sample8 = {1.0, 0.75, 1.0};
166 assert(model2.predict(sample5, 2) == 2);
167 assert(model2.predict(sample6, 2) == 1);
168 assert(model2.predict(sample7, 2) == 1);
169 assert(model2.predict(sample8, 2) == 3);
170 std::cout <<
"... Passed" << std::endl;
171 std::cout <<
"------- Test 3 -------" << std::endl;
172 std::vector<std::vector<double>> X3 = {{0.0}, {1.0}, {2.0}, {3.0},
173 {4.0}, {5.0}, {6.0}, {7.0}};
174 std::vector<int> Y3 = {1, 1, 1, 1, 2, 2, 2, 2};
176 std::vector<double> sample9 = {0.5};
177 std::vector<double> sample10 = {2.9};
178 std::vector<double> sample11 = {5.5};
179 std::vector<double> sample12 = {7.5};
180 assert(model3.predict(sample9, 3) == 1);
181 assert(model3.predict(sample10, 3) == 1);
182 assert(model3.predict(sample11, 3) == 2);
183 assert(model3.predict(sample12, 3) == 2);
184 std::cout <<
"... Passed" << std::endl;