[gegl/soc-2012-editor] add test cases for linear buffer copying



commit fdbec0adb6b6d6928ef3d93bb0fcc7a69a7cdda5
Author: Simon Budig <simon budig de>
Date:   Mon May 21 18:10:42 2012 +0200

    add test cases for linear buffer copying

 .../reference/test_gegl_buffer_linear_copy.buf     |   23 ++++++++++
 .../reference/test_gegl_buffer_linear_iter.buf     |   23 ++++++++++
 tests/buffer/tests/test_gegl_buffer_linear_copy.c  |   28 ++++++++++++
 tests/buffer/tests/test_gegl_buffer_linear_iter.c  |   44 ++++++++++++++++++++
 4 files changed, 118 insertions(+), 0 deletions(-)
---
diff --git a/tests/buffer/reference/test_gegl_buffer_linear_copy.buf b/tests/buffer/reference/test_gegl_buffer_linear_copy.buf
new file mode 100644
index 0000000..7c026c1
--- /dev/null
+++ b/tests/buffer/reference/test_gegl_buffer_linear_copy.buf
@@ -0,0 +1,23 @@
+Test: test_gegl_buffer_linear_copy
+ââââââââââââââââââââââ
+â                    â
+â   ââââââââââ       â
+â   ââââââââââ       â
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
diff --git a/tests/buffer/reference/test_gegl_buffer_linear_iter.buf b/tests/buffer/reference/test_gegl_buffer_linear_iter.buf
new file mode 100644
index 0000000..ef51d5d
--- /dev/null
+++ b/tests/buffer/reference/test_gegl_buffer_linear_iter.buf
@@ -0,0 +1,23 @@
+Test: test_gegl_buffer_linear_iter
+ââââââââââââââââââââââ
+â                    â
+â   ââââââââââ       â
+â   ââââââââââ       â
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
+ââââââââââââââââââââââ
diff --git a/tests/buffer/tests/test_gegl_buffer_linear_copy.c b/tests/buffer/tests/test_gegl_buffer_linear_copy.c
new file mode 100644
index 0000000..d86c7cd
--- /dev/null
+++ b/tests/buffer/tests/test_gegl_buffer_linear_copy.c
@@ -0,0 +1,28 @@
+TEST ()
+{
+  GeglBuffer    *buffer, *buffer2;
+  gchar         *buf1, *buf2;
+  GeglRectangle  bound = {2, 2, 20, 20};
+  GeglRectangle  source = {5, 3, 10, 10};
+
+  test_start ();
+
+  buf1 = g_malloc0 (bound.width * bound.height * sizeof (float));
+  buf2 = g_malloc0 (source.width * source.height * sizeof (float));
+
+  buffer = gegl_buffer_linear_new_from_data (buf1, babl_format ("Y float"),
+                                             &bound, GEGL_AUTO_ROWSTRIDE,
+                                             NULL, NULL);
+  buffer2 = gegl_buffer_linear_new_from_data (buf2, babl_format ("Y float"),
+                                              &source, GEGL_AUTO_ROWSTRIDE,
+                                              NULL, NULL);
+
+  vgrad (buffer);
+  fill (buffer2, 1.0);
+
+  gegl_buffer_copy (buffer2, &source, buffer, &source);
+  print_buffer (buffer);
+  g_object_unref (buffer);
+  g_object_unref (buffer);
+  test_end ();
+}
diff --git a/tests/buffer/tests/test_gegl_buffer_linear_iter.c b/tests/buffer/tests/test_gegl_buffer_linear_iter.c
new file mode 100644
index 0000000..f3ca3f3
--- /dev/null
+++ b/tests/buffer/tests/test_gegl_buffer_linear_iter.c
@@ -0,0 +1,44 @@
+TEST ()
+{
+  GeglBuffer    *buffer, *buffer2;
+  gchar         *buf1, *buf2;
+  GeglRectangle  bound = {2, 2, 20, 20};
+  GeglRectangle  source = {5, 3, 10, 10};
+  GeglBufferIterator *iter;
+
+  test_start ();
+
+  buf1 = g_malloc0 (bound.width * bound.height * sizeof (float));
+  buf2 = g_malloc0 (source.width * source.height * sizeof (float));
+
+  buffer = gegl_buffer_linear_new_from_data (buf1, babl_format ("Y float"),
+                                             &bound, GEGL_AUTO_ROWSTRIDE,
+                                             NULL, NULL);
+  buffer2 = gegl_buffer_linear_new_from_data (buf2, babl_format ("Y float"),
+                                              &source, GEGL_AUTO_ROWSTRIDE,
+                                              NULL, NULL);
+
+  vgrad (buffer);
+  fill (buffer2, 1.0);
+
+  iter = gegl_buffer_iterator_new (buffer2, &source, 0, NULL,
+                                   GEGL_BUFFER_READ, GEGL_ABYSS_NONE);
+
+  gegl_buffer_iterator_add (iter, buffer, &source, 0, NULL,
+                            GEGL_BUFFER_WRITE, GEGL_ABYSS_NONE);
+
+  while (gegl_buffer_iterator_next (iter))
+    {
+      gfloat *s = iter->data[0];
+      gfloat *d = iter->data[1];
+      gint length = iter->length;
+
+      while (length--)
+        *d = *s;
+    }
+
+  print_buffer (buffer);
+  g_object_unref (buffer);
+  g_object_unref (buffer);
+  test_end ();
+}



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