+
+
+#define ASSERT_IMAGE_EQUAL_TO_FILE(image, file) \
+ { \
+ wxImage imageFromFile(file); \
+ CPPUNIT_ASSERT_MESSAGE( "Failed to load " file, imageFromFile.IsOk() ); \
+ CPPUNIT_ASSERT_EQUAL( imageFromFile, image ); \
+ }
+
+void ImageTestCase::ScaleCompare()
+{
+ wxImage original;
+ CPPUNIT_ASSERT(original.LoadFile("horse.bmp"));
+
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale( 50, 50, wxIMAGE_QUALITY_BICUBIC),
+ "image/horse_bicubic_50x50.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(100, 100, wxIMAGE_QUALITY_BICUBIC),
+ "image/horse_bicubic_100x100.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(150, 150, wxIMAGE_QUALITY_BICUBIC),
+ "image/horse_bicubic_150x150.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(300, 300, wxIMAGE_QUALITY_BICUBIC),
+ "image/horse_bicubic_300x300.png");
+
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale( 50, 50, wxIMAGE_QUALITY_BOX_AVERAGE),
+ "image/horse_box_average_50x50.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(100, 100, wxIMAGE_QUALITY_BOX_AVERAGE),
+ "image/horse_box_average_100x100.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(150, 150, wxIMAGE_QUALITY_BOX_AVERAGE),
+ "image/horse_box_average_150x150.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(300, 300, wxIMAGE_QUALITY_BOX_AVERAGE),
+ "image/horse_box_average_300x300.png");
+
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale( 50, 50, wxIMAGE_QUALITY_BILINEAR),
+ "image/horse_bilinear_50x50.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(100, 100, wxIMAGE_QUALITY_BILINEAR),
+ "image/horse_bilinear_100x100.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(150, 150, wxIMAGE_QUALITY_BILINEAR),
+ "image/horse_bilinear_150x150.png");
+ ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(300, 300, wxIMAGE_QUALITY_BILINEAR),
+ "image/horse_bilinear_300x300.png");
+}
+