1 #ifndef VECTOR_3_IMAGE_POLICY_HXX 2 #define VECTOR_3_IMAGE_POLICY_HXX 3 4 #include "test_policy_parent.hxx" 5 #include <unittest.hxx> 6 7 template<class Vector3ImageP> // bei dem template handelt es sich um Vector3Image, der einer der folgenden Varianten einnehmen kann: FVector3Image, DVector3Image, Vector3Image 8 class Vector3ImagePolicy 9 : public TestPolicy<Vector3ImageP> 10 { 11 12 public: 13 typedef Vector3ImageP Image; // die zu testende Klasse 14 typedef Vector3ImageP ChildImage; // entspricht der zu testenden Klasse 15 typedef typename Vector3ImageP::PixelType PixelType; // PixelType der zu testenden Klasse 16 typedef typename Image::value_type value_type; // value_type der zu testenden Klasse 17 typedef typename Image::value_type child_value_type; // entspricht dem value_type der zu testenden Klasse 18 typedef std::vector<value_type> data_array_type; 19 typedef std::vector<value_type> child_data_array_type; 20 typedef typename value_type::value_type type; 21 getData()22 static data_array_type getData() 23 { 24 type frgb = 0.1; 25 static value_type data[15]; 26 27 for(int i = 0; i <= 14 ; i ++) 28 { 29 data[i] = value_type((i+frgb), (2*i), (2*i + frgb)); 30 } 31 static data_array_type data_vector(data, data+sizeof(data)/sizeof(value_type)); 32 return data_vector; 33 } 34 getChildData()35 static child_data_array_type getChildData() 36 { 37 return getData(); 38 } 39 };// end of class Vector3ImagePolicy 40 41 struct Vector3ImageHierarchyTestSuite 42 : public vigra::test_suite 43 { 44 Vector3ImageHierarchyTestSuite(); 45 }; 46 47 48 struct Vector3BasicImageTestSuite 49 : public vigra::test_suite 50 { 51 Vector3BasicImageTestSuite(); 52 }; 53 54 55 #endif // VECTOR_3_IMAGE_POLICY_HXX 56