[Groonga-commit] groonga/grngo at 112f8e3 [master] Add a test for deep vector.

Back to archive index

susumu.yata null+****@clear*****
Wed Jul 29 07:54:42 JST 2015


susumu.yata	2015-07-29 07:54:42 +0900 (Wed, 29 Jul 2015)

  New Revision: 112f8e34ee3ed32e7572eb6d807daf8a38fe1dd5
  https://github.com/groonga/grngo/commit/112f8e34ee3ed32e7572eb6d807daf8a38fe1dd5

  Message:
    Add a test for deep vector.
    
    GitHub: #18

  Modified files:
    grngo_test.go

  Modified: grngo_test.go (+45 -0)
===================================================================
--- grngo_test.go    2015-07-29 07:54:01 +0900 (9b37d3f)
+++ grngo_test.go    2015-07-29 07:54:42 +0900 (a8e55a9)
@@ -1391,6 +1391,51 @@ func TestRefs(t *testing.T) {
 	}
 }
 
+func TestDeepVector(t *testing.T) {
+	dirPath, _, db := createTempDB(t)
+	defer removeTempDB(t, dirPath, db)
+	options := NewTableOptions()
+	options.KeyType = "ShortText"
+	table, err := db.CreateTable("Table", options)
+	if err != nil {
+		t.Fatalf("DB.CreateTable() failed: %v", err)
+	}
+	var keys [][]byte
+	keys = append(keys, []byte("ABC"))
+	keys = append(keys, []byte("DEF"))
+	keys = append(keys, []byte("GHI"))
+	for _, key := range keys {
+		if _, _, err := table.InsertRow(key); err != nil {
+			t.Fatalf("Table.InsertRow() failed: %v", err)
+		}
+	}
+	column, err := table.CreateColumn("Ref", "[]Table", nil)
+	var values [][][]byte
+	values = append(values, [][]byte{ keys[1], keys[2] })
+	values = append(values, [][]byte{ keys[2], keys[0] })
+	values = append(values, [][]byte{ keys[0], keys[1] })
+	for i, value := range values {
+		if err := column.SetValue(uint32(i + 1), value); err != nil {
+			t.Fatalf("Column.SetValue() failed: %v", err)
+		}
+	}
+	column, err = table.FindColumn("Ref.Ref")
+	if err != nil {
+		t.Fatalf("Table.FindColumn() failed: %v", err)
+	}
+	storedValue, err := column.GetValue(uint32(1))
+	if err != nil {
+		t.Fatalf("Column.GetValue() failed: %v", err)
+	}
+	var value [][][]byte
+	value = append(value, values[1])
+	value = append(value, values[2])
+	if !reflect.DeepEqual(value, storedValue) {
+		t.Fatalf("Column.GetValue() failed: value = %v, storedValue = %v",
+			value, storedValue)
+	}
+}
+
 // Benchmarks.
 
 var numTestRows = 100000
-------------- next part --------------
HTML����������������������������...
Download 



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