[Groonga-commit] droonga/fluent-plugin-droonga at 326a61c [master] Add tests for collector's reduce with limit and offset

Back to archive index

YUKI Hiroshi null+****@clear*****
Wed Nov 27 20:19:05 JST 2013


YUKI Hiroshi	2013-11-27 20:19:05 +0900 (Wed, 27 Nov 2013)

  New Revision: 326a61cee5df4635c4b4dcaa9c46660eb89eb932
  https://github.com/droonga/fluent-plugin-droonga/commit/326a61cee5df4635c4b4dcaa9c46660eb89eb932

  Message:
    Add tests for collector's reduce with limit and offset

  Modified files:
    test/unit/plugin/handler/test_collector.rb

  Modified: test/unit/plugin/handler/test_collector.rb (+148 -0)
===================================================================
--- test/unit/plugin/handler/test_collector.rb    2013-11-27 20:18:46 +0900 (911ded0)
+++ test/unit/plugin/handler/test_collector.rb    2013-11-27 20:19:05 +0900 (972b5ab)
@@ -123,6 +123,79 @@ class BasicCollectorHandlerTest < Test::Unit::TestCase
                    @messages.last)
     end
 
+    def test_sum_with_offset_and_limit
+      input_name = "input_#{Time.now.to_i}"
+      output_name = "output_#{Time.now.to_i}"
+      request = {
+        "task" => {
+          "values" => {
+            output_name => {
+              "numeric_key_records" => [
+                create_record(1),
+                create_record(2),
+                create_record(3),
+              ],
+              "string_key_records" => [
+                create_record("a"),
+                create_record("b"),
+                create_record("c"),
+              ],
+            },
+          },
+          "component" => {
+            "body" => {
+              input_name => {
+                output_name => {
+                  "numeric_key_records" => {
+                    "type" => "sum",
+                    "offset" => 2,
+                    "limit" => 2,
+                  },
+                  "string_key_records" => {
+                    "type" => "sum",
+                    "offset" => 3,
+                    "limit" => -1,
+                  },
+                },
+              },
+            },
+            "outputs" => nil,
+          },
+        },
+        "id" => nil,
+        "value" => {
+          "numeric_key_records" => [
+            create_record(4),
+            create_record(5),
+            create_record(6),
+          ],
+          "string_key_records" => [
+            create_record("d"),
+            create_record("e"),
+            create_record("f"),
+          ],
+        },
+        "name" => input_name,
+        "descendants" => nil,
+      }
+      @handler.process("collector_reduce", request)
+      assert_equal([
+                     {
+                       "numeric_key_records" => [
+                         create_record(3),
+                         create_record(4),
+                       ],
+                       "string_key_records" => [
+                         create_record("d"),
+                         create_record("e"),
+                         create_record("f"),
+                       ],
+                     },
+                     output_name
+                   ],
+                   @messages.last)
+    end
+
     def test_sort
       input_name = "input_#{Time.now.to_i}"
       output_name = "output_#{Time.now.to_i}"
@@ -201,6 +274,81 @@ class BasicCollectorHandlerTest < Test::Unit::TestCase
                    @messages.last)
     end
 
+    def test_sort_with_limit_and_offset
+      input_name = "input_#{Time.now.to_i}"
+      output_name = "output_#{Time.now.to_i}"
+      request = {
+        "task" => {
+          "values" => {
+            output_name => {
+              "numeric_key_records" => [
+                create_record(1),
+                create_record(3),
+                create_record(5),
+              ],
+              "string_key_records" => [
+                create_record("a"),
+                create_record("c"),
+                create_record("e"),
+              ],
+            },
+          },
+          "component" => {
+            "body" => {
+              input_name => {
+                output_name => {
+                  "numeric_key_records" => {
+                    "type" => "sort",
+                    "order" => ["<"],
+                    "offset" => 2,
+                    "limit" => 2,
+                  },
+                  "string_key_records" => {
+                    "type" => "sort",
+                    "order" => ["<"],
+                    "offset" => 3,
+                    "limit" => -1,
+                  },
+                },
+              },
+            },
+            "outputs" => nil,
+          },
+        },
+        "id" => nil,
+        "value" => {
+          "numeric_key_records" => [
+            create_record(2),
+            create_record(4),
+            create_record(6),
+          ],
+          "string_key_records" => [
+            create_record("b"),
+            create_record("d"),
+            create_record("f"),
+          ],
+        },
+        "name" => input_name,
+        "descendants" => nil,
+      }
+      @handler.process("collector_reduce", request)
+      assert_equal([
+                     {
+                       "numeric_key_records" => [
+                         create_record(3),
+                         create_record(4),
+                       ],
+                       "string_key_records" => [
+                         create_record("d"),
+                         create_record("e"),
+                         create_record("f"),
+                       ],
+                     },
+                     output_name
+                   ],
+                   @messages.last)
+    end
+
     private
     def create_record(*columns)
       columns
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index