proto-1.0 17: Add tests for readonly and readwrite images

Index: ChangeLog from Simon Odou <simon@lrde.epita.fr> * tests/core/tests/readonly_image: New. * tests/core/tests/readwrite_image: New. readonly_image | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ readwrite_image | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) Index: tests/core/tests/readonly_image --- tests/core/tests/readonly_image (revision 0) +++ tests/core/tests/readonly_image (revision 0) @@ -0,0 +1,60 @@ +#include <iostream> + +#include <ntg/real/int_u8.hh> +#include <oln/basics2d.hh> + +#include "check.hh" +#include "data.hh" + +namespace oln { + + struct dummy_image; + + template <> + struct category_type< dummy_image > { typedef cat::image ret; }; + + template <> + struct props <cat::image, dummy_image> : + public default_props < cat::image > + { + typedef size2d size_type; + typedef point2d point_type; + typedef ntg::int_u8 value_type; + + typedef mlc_encoding_type_(value_type) value_storage_type; + typedef array2d<value_storage_type> value_container_type; + + typedef tag::readonly constness_tag; + typedef tag::dimension2 dimension_tag; + typedef mlc::no_type delegated_type; + }; + + struct dummy_image : public abstract::image_with_data< dummy_image > + { + + typedef abstract::image_with_data< dummy_image > super_type; + + dummy_image() + { + this->exact_ptr = this; + } + + dummy_image(coord_t nrows, coord_t ncols) : + super_type(size2d(nrows, ncols)) + { + this->exact_ptr = this; + } + + }; + +} // end of namespace test + + + +bool check() +{ + oln::dummy_image ima(3, 3); + // COMPFAIL + ima[oln::point2d(0,0)] = 42; + return false; +} Index: tests/core/tests/readwrite_image --- tests/core/tests/readwrite_image (revision 0) +++ tests/core/tests/readwrite_image (revision 0) @@ -0,0 +1,60 @@ +#include <iostream> + +#include <ntg/real/int_u8.hh> +#include <oln/basics2d.hh> + +#include "check.hh" +#include "data.hh" + +namespace oln { + + struct dummy_image; + + template <> + struct category_type< dummy_image > { typedef cat::image ret; }; + + template <> + struct props <cat::image, dummy_image> : + public default_props < cat::image > + { + typedef size2d size_type; + typedef point2d point_type; + typedef ntg::int_u8 value_type; + + typedef mlc_encoding_type_(value_type) value_storage_type; + typedef array2d<value_storage_type> value_container_type; + + typedef tag::readwrite constness_tag; + typedef tag::dimension2 dimension_tag; + typedef mlc::no_type delegated_type; + }; + + struct dummy_image : public abstract::image_with_data< dummy_image > + { + + typedef abstract::image_with_data< dummy_image > super_type; + + dummy_image() + { + this->exact_ptr = this; + } + + dummy_image(coord_t nrows, coord_t ncols) : + super_type(size2d(nrows, ncols)) + { + this->exact_ptr = this; + } + + }; + +} // end of namespace test + + + +bool check() +{ + oln::dummy_image ima(3, 3); + ima[oln::point2d(0,0)] = 42; + std::cout << ima[oln::point2d(0,0)].value() << std::endl; + return false; +}
participants (1)
-
Simon Odou