| 250 | |
| 251 | template<typename T, bool isDilation> |
| 252 | void morphInputTest(void) { |
| 253 | SUPPORTED_TYPE_CHECK(T); |
| 254 | |
| 255 | af_array inArray = 0; |
| 256 | af_array maskArray = 0; |
| 257 | af_array outArray = 0; |
| 258 | |
| 259 | vector<T> in(100, 1); |
| 260 | vector<T> mask(9, 1); |
| 261 | |
| 262 | // Check for 1D inputs |
| 263 | dim4 dims = dim4(100, 1, 1, 1); |
| 264 | dim4 mdims(3, 3, 1, 1); |
| 265 | |
| 266 | ASSERT_SUCCESS(af_create_array(&maskArray, &mask.front(), mdims.ndims(), |
| 267 | mdims.get(), |
| 268 | (af_dtype)dtype_traits<T>::af_type)); |
| 269 | |
| 270 | ASSERT_SUCCESS(af_create_array(&inArray, &in.front(), dims.ndims(), |
| 271 | dims.get(), |
| 272 | (af_dtype)dtype_traits<T>::af_type)); |
| 273 | |
| 274 | if (isDilation) |
| 275 | ASSERT_EQ(AF_ERR_SIZE, af_dilate(&outArray, inArray, maskArray)); |
| 276 | else |
| 277 | ASSERT_EQ(AF_ERR_SIZE, af_erode(&outArray, inArray, maskArray)); |
| 278 | |
| 279 | ASSERT_SUCCESS(af_release_array(inArray)); |
| 280 | |
| 281 | ASSERT_SUCCESS(af_release_array(maskArray)); |
| 282 | } |
| 283 | |
| 284 | TYPED_TEST(Morph, DilateInvalidInput) { morphInputTest<TypeParam, true>(); } |
| 285 |
nothing calls this directly
no test coverage detected