ImageTest.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "../testTools.h"
  2. START_TEST(Image)
  3. { // ImageU8
  4. ImageU8 imageA;
  5. ASSERT_EQUAL(image_exists(imageA), false);
  6. imageA = image_create_U8(17, 9);
  7. ASSERT_EQUAL(image_exists(imageA), true);
  8. ASSERT_EQUAL(image_useCount(imageA), 1);
  9. ASSERT_EQUAL(image_getWidth(imageA), 17);
  10. ASSERT_EQUAL(image_getHeight(imageA), 9);
  11. ASSERT_EQUAL(image_getStride(imageA), 32);
  12. ASSERT_EQUAL(image_getBound(imageA), IRect(0, 0, 17, 9));
  13. ImageU8 imageB; // Create empty image reference
  14. ASSERT_EQUAL(image_useCount(imageA), 1);
  15. ASSERT_EQUAL(image_useCount(imageB), 0);
  16. imageB = imageA; // Shallow copy of reference
  17. ASSERT_EQUAL(image_useCount(imageA), 2);
  18. ASSERT_EQUAL(image_useCount(imageB), 2);
  19. imageA = ImageU8(); // Remove original reference to the image
  20. ASSERT_EQUAL(image_useCount(imageA), 0);
  21. ASSERT_EQUAL(image_useCount(imageB), 1);
  22. }
  23. { // ImageF32
  24. ImageF32 image;
  25. ASSERT_EQUAL(image_exists(image), false);
  26. image = image_create_F32(3, 48);
  27. ASSERT_EQUAL(image_exists(image), true);
  28. ASSERT_EQUAL(image_useCount(image), 1);
  29. ASSERT_EQUAL(image_getWidth(image), 3);
  30. ASSERT_EQUAL(image_getHeight(image), 48);
  31. ASSERT_EQUAL(image_getStride(image), 16);
  32. ASSERT_EQUAL(image_getBound(image), IRect(0, 0, 3, 48));
  33. }
  34. { // ImageRgbaU8
  35. ImageRgbaU8 image;
  36. ASSERT_EQUAL(image_exists(image), false);
  37. image = image_create_RgbaU8(52, 12);
  38. ASSERT_EQUAL(image_exists(image), true);
  39. ASSERT_EQUAL(image_useCount(image), 1);
  40. ASSERT_EQUAL(image_getWidth(image), 52);
  41. ASSERT_EQUAL(image_getHeight(image), 12);
  42. ASSERT_EQUAL(image_getStride(image), 208);
  43. ASSERT_EQUAL(image_getBound(image), IRect(0, 0, 52, 12));
  44. }
  45. { // RGBA Texture
  46. ImageRgbaU8 image;
  47. image = image_create_RgbaU8(256, 256);
  48. ASSERT_EQUAL(image_hasPyramid(image), false);
  49. image_generatePyramid(image);
  50. ASSERT_EQUAL(image_hasPyramid(image), true);
  51. image_removePyramid(image);
  52. ASSERT_EQUAL(image_hasPyramid(image), false);
  53. image_generatePyramid(image);
  54. ASSERT_EQUAL(image_hasPyramid(image), true);
  55. }
  56. END_TEST