[gegl] tests: add tests for behavior of mipmap level argument for buffer



commit a490dbb8a3955e0d4be36276974354f06d8587f0
Author: Øyvind Kolås <pippin gimp org>
Date:   Thu Jul 3 14:44:46 2014 +0200

    tests: add tests for behavior of mipmap level argument for buffer

 tests/buffer/reference/mipmap_sampler.buf |   48 ++++++++++++++++++++
 tests/buffer/tests/linear_new.c           |    1 -
 tests/buffer/tests/mipmap_iterator.c      |   16 +------
 tests/buffer/tests/mipmap_iterator2.c     |   19 +-------
 tests/buffer/tests/mipmap_sampler.c       |   69 +++++++++++++++++++++++++++++
 tests/buffer/tests/mipmap_set.c           |    1 -
 tests/buffer/tests/mipmap_set2.c          |    3 +
 7 files changed, 125 insertions(+), 32 deletions(-)
---
diff --git a/tests/buffer/reference/mipmap_sampler.buf b/tests/buffer/reference/mipmap_sampler.buf
new file mode 100644
index 0000000..d57724d
--- /dev/null
+++ b/tests/buffer/reference/mipmap_sampler.buf
@@ -0,0 +1,48 @@
+Test: mipmap_sampler
+▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
+4.000000,5.000000 : 0.250000
+6.000000,4.000000 : 0.375000
+8.000000,10.000000 : 0.500000
+▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜
+▌                    ▐
+▌ ░░▒▒▓▓█            ▐
+▌ ░░▒▒▓▓█            ▐
+▌ ░░▒▒▓▓█            ▐
+▌ ░░▒▒▓▓█            ▐
+▌ ░░▒▒▓▓█            ▐
+▌ ░░▒▒▓▓█            ▐
+▌ ░░▒▒▓▓█            ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▌                    ▐
+▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
diff --git a/tests/buffer/tests/linear_new.c b/tests/buffer/tests/linear_new.c
index 2a5e105..3fbf9b7 100644
--- a/tests/buffer/tests/linear_new.c
+++ b/tests/buffer/tests/linear_new.c
@@ -4,7 +4,6 @@ TEST ()
   GeglRectangle extent = {0,0,40,20};
   GeglRectangle roi = {1,1,30,10};
   test_start();
-  g_print ("foo!\n");
   buffer = gegl_buffer_linear_new (&extent, babl_format ("Y float"));
   fill_rect (buffer, &roi, 0.5);
   roi.y+=3;
diff --git a/tests/buffer/tests/mipmap_iterator.c b/tests/buffer/tests/mipmap_iterator.c
index dc8323c..5c1fad8 100644
--- a/tests/buffer/tests/mipmap_iterator.c
+++ b/tests/buffer/tests/mipmap_iterator.c
@@ -40,20 +40,8 @@ TEST ()
 
   print_buffer (buffer);
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+  g_object_unref (buffer);
+  g_object_unref (buffer2);
 
   test_end ();
 
diff --git a/tests/buffer/tests/mipmap_iterator2.c b/tests/buffer/tests/mipmap_iterator2.c
index 9aa261c..d9c5276 100644
--- a/tests/buffer/tests/mipmap_iterator2.c
+++ b/tests/buffer/tests/mipmap_iterator2.c
@@ -3,7 +3,6 @@ TEST ()
   GeglBuffer    *buffer2, *buffer;
   GeglRectangle  bound = {0, 0, 20, 20};
   GeglRectangle  dest = {4, 4, 9, 11};
-  float *blank = g_malloc0 (100000);
   gchar *temp = g_malloc0 (100000);
   test_start ();
 
@@ -30,21 +29,9 @@ TEST ()
 
   print_buffer (buffer);
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
   test_end ();
 
+  g_object_unref (buffer);
+  g_object_unref (buffer2);
+
 }
diff --git a/tests/buffer/tests/mipmap_sampler.c b/tests/buffer/tests/mipmap_sampler.c
new file mode 100644
index 0000000..a006b4e
--- /dev/null
+++ b/tests/buffer/tests/mipmap_sampler.c
@@ -0,0 +1,69 @@
+TEST ()
+{
+  GeglBuffer    *buffer2, *buffer;
+  GeglRectangle  bound = {0, 0, 20, 20};
+  GeglRectangle  dest = {0, 0, 16, 16};
+  GeglSampler   *sampler;
+  gchar *temp = g_malloc0 (100000);
+  test_start ();
+
+  buffer2 = gegl_buffer_new (&bound, babl_format ("Y float"));
+  buffer = gegl_buffer_new (&bound, babl_format ("Y float"));
+
+// vgrad (buffer2);
+
+  {
+    GeglBufferIterator *iterator = gegl_buffer_iterator_new (buffer2,
+        &dest, 1, babl_format ("Y float"), GEGL_BUFFER_READWRITE, GEGL_ABYSS_NONE);
+    while (gegl_buffer_iterator_next (iterator))
+    {
+      int i;
+      gfloat *d = iterator->data[0];
+      for (i = 0; i < iterator->length; i++)
+        d[i] = 1.0 * i / iterator->length / 2;
+    }
+  }
+  {
+    GeglBufferIterator *iterator = gegl_buffer_iterator_new (buffer2,
+        &dest, 1, babl_format ("Y float"), GEGL_BUFFER_READWRITE, GEGL_ABYSS_NONE);
+    while (gegl_buffer_iterator_next (iterator))
+    {
+      int i;
+      gfloat *d = iterator->data[0];
+      for (i = 0; i < iterator->length; i++)
+        d[i] += (1.0 * i / iterator->length/2);
+    }
+  }
+  print_buffer (buffer2);
+
+  sampler = gegl_buffer_sampler_new_at_level (buffer2, babl_format("Y float"),
+                                              GEGL_SAMPLER_LINEAR, 1);
+
+  {
+    float coords[][2] = {{4,5}, {6,4},{8,10}};
+    int i;
+    float val;
+    for (i = 0; i < sizeof(coords)/sizeof(coords[0]); i++)
+    {
+      gegl_sampler_get (sampler, coords[i][0], coords[i][1], NULL,
+                        &val, GEGL_ABYSS_NONE);
+
+      g_string_append_printf(gstring, 
+          "%f,%f : %f\n", coords[i][0], coords[i][1], val);
+
+    }
+  }
+
+  g_object_unref (sampler);
+
+  gegl_buffer_get (buffer2, &bound, 0.5, babl_format ("Y float"), temp, GEGL_AUTO_ROWSTRIDE, 
GEGL_ABYSS_NONE);
+  gegl_buffer_set (buffer, &bound, 0, babl_format ("Y float"), temp, GEGL_AUTO_ROWSTRIDE);
+
+  print_buffer (buffer);
+
+  g_object_unref (buffer2);
+  g_object_unref (buffer);
+
+  test_end ();
+
+}
diff --git a/tests/buffer/tests/mipmap_set.c b/tests/buffer/tests/mipmap_set.c
index 9de06a8..c36de90 100644
--- a/tests/buffer/tests/mipmap_set.c
+++ b/tests/buffer/tests/mipmap_set.c
@@ -2,7 +2,6 @@ TEST ()
 {
   GeglBuffer    *buffer, *buffer2;
   GeglRectangle  bound = {0, 0, 20, 20};
-  GeglRectangle  source = {2, 2, 5, 5};
   GeglRectangle  dest = {10, 10, 5, 5};
   const gchar *blank = g_malloc0 (100000);
   test_start ();
diff --git a/tests/buffer/tests/mipmap_set2.c b/tests/buffer/tests/mipmap_set2.c
index 497522b..574bb5b 100644
--- a/tests/buffer/tests/mipmap_set2.c
+++ b/tests/buffer/tests/mipmap_set2.c
@@ -37,4 +37,7 @@ TEST ()
 
   test_end ();
 
+  g_object_unref (buffer);
+  g_object_unref (buffer2);
+
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]