[Groonga-commit] groonga/grngo at 742bb8b [master] Add a simplified test for _key.

Zurück zum Archiv-Index

susumu.yata null+****@clear*****
Wed Jul 29 19:10:26 JST 2015


susumu.yata	2015-07-29 19:10:26 +0900 (Wed, 29 Jul 2015)

  New Revision: 742bb8b56546d10c2d612745ae8351497d01482d
  https://github.com/groonga/grngo/commit/742bb8b56546d10c2d612745ae8351497d01482d

  Message:
    Add a simplified test for _key.

  Modified files:
    grngo_test.go

  Modified: grngo_test.go (+39 -0)
===================================================================
--- grngo_test.go    2015-07-29 19:08:21 +0900 (f3a1a67)
+++ grngo_test.go    2015-07-29 19:10:26 +0900 (756efc4)
@@ -255,6 +255,45 @@ func removeTempDB(tb testing.TB, dirPath string, db *DB) {
 
 // Tests.
 
+func TestKey(t *testing.T) {
+	dirPath, _, db := createTempDB(t)
+	defer removeTempDB(t, dirPath, db)
+
+	keyTypes := []string{
+		"Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16", "UInt32",
+		"UInt64", "Float", "Time", "ShortText", "TokyoGeoPoint", "WGS84GeoPoint",
+	}
+	for _, keyType := range keyTypes {
+		options := NewTableOptions()
+		options.KeyType = keyType
+		table, err := db.CreateTable("Table", options)
+		if err != nil {
+			t.Fatalf("DB.CreateTable() failed: %v", err)
+		}
+		column, err := table.FindColumn("_key")
+		if err != nil {
+			t.Fatalf("Table.FindColumn() failed: %v", err)
+		}
+		for i := 0; i < 100; i++ {
+			key := generateRandomKey(keyType)
+			_, id, err := table.InsertRow(key)
+			if err != nil {
+				t.Fatalf("Table.InsertRow() failed: %v", err)
+			}
+			storedKey, err := column.GetValue(id)
+			if err != nil {
+				t.Fatalf("Column.GetValue() failed: %v", err)
+			}
+			if !reflect.DeepEqual(key, storedKey) {
+				t.Fatalf("DeepEqual() failed")
+			}
+		}
+		if _, err := db.Query("table_remove Table"); err != nil {
+			t.Logf("DB.Query() failed: %v", err)
+		}
+	}
+}
+
 func TestCreateDB(t *testing.T) {
 	dirPath, _, db := createTempDB(t)
 	defer removeTempDB(t, dirPath, db)
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index