[Groonga-commit] groonga/grnci at c67e867 [master] Add tests for DB.TableCreate.

Back to archive index

Susumu Yata null+****@clear*****
Thu Sep 14 16:37:55 JST 2017


Susumu Yata	2017-09-14 16:37:55 +0900 (Thu, 14 Sep 2017)

  New Revision: c67e8672c6903022b49a273de92e0222b2e5591d
  https://github.com/groonga/grnci/commit/c67e8672c6903022b49a273de92e0222b2e5591d

  Message:
    Add tests for DB.TableCreate.
    
    Ref: #39

  Modified files:
    v2/libgrn/db_test.go

  Modified: v2/libgrn/db_test.go (+152 -0)
===================================================================
--- v2/libgrn/db_test.go    2017-09-14 15:56:26 +0900 (6675d08)
+++ v2/libgrn/db_test.go    2017-09-14 16:37:55 +0900 (b533522)
@@ -1462,6 +1462,158 @@ table_create Tbl2 TABLE_PAT_KEY ShortText`
 	}
 }
 
+func TestDBTableCreate(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	if err := db.TableCreate("Tbl", nil); err != nil {
+		t.Fatalf("db.TableCreate failed: %v", err)
+	}
+	if ok, err := db.ObjectExist("Tbl"); !ok {
+		t.Fatalf("db.ObjectExist failed: %v", err)
+	}
+}
+
+func TestDBTableCreatePat(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	flags := [][]string{
+		[]string{"TABLE_PAT_KEY"},
+		[]string{"TABLE_PAT_KEY", "KEY_WITH_SIS"},
+	}
+	keyTypes := []string{
+		"Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16",
+		"UInt32", "UInt64", "Time", "Float", "ShortText", "TokyoGeoPoint",
+		"WGS84GeoPoint",
+	}
+	valueTypes := []string{
+		"", "Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16",
+		"UInt32", "UInt64", "Time", "Float", "TokyoGeoPoint", "WGS84GeoPoint",
+	}
+	for _, flags := range flags {
+		for _, keyType := range keyTypes {
+			for _, valueType := range valueTypes {
+				options := grnci.NewDBTableCreateOptions()
+				options.Flags = flags
+				options.KeyType = keyType
+				options.ValueType = valueType
+				if err := db.TableCreate("Tbl", options); err != nil {
+					t.Fatalf("db.TableCreate failed: %v", err)
+				}
+				if err := db.TableRemove("Tbl", false); err != nil {
+					t.Fatalf("db.TableRemove failed: %v", err)
+				}
+			}
+		}
+	}
+}
+
+func TestDBTableCreateHash(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	flags := [][]string{
+		[]string{"TABLE_HASH_KEY"},
+		[]string{"TABLE_HASH_KEY", "KEY_LARGE"},
+	}
+	keyTypes := []string{
+		"Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16",
+		"UInt32", "UInt64", "Time", "Float", "ShortText", "TokyoGeoPoint",
+		"WGS84GeoPoint",
+	}
+	valueTypes := []string{
+		"", "Bool", "Int8", "Int16", "Int32", "Int64", "UInt8", "UInt16",
+		"UInt32", "UInt64", "Time", "Float", "TokyoGeoPoint", "WGS84GeoPoint",
+	}
+	for _, flags := range flags {
+		for _, keyType := range keyTypes {
+			for _, valueType := range valueTypes {
+				options := grnci.NewDBTableCreateOptions()
+				options.Flags = flags
+				options.KeyType = keyType
+				options.ValueType = valueType
+				if err := db.TableCreate("Tbl", options); err != nil {
+					t.Fatalf("db.TableCreate failed: %v", err)
+				}
+				if err := db.TableRemove("Tbl", false); err != nil {
+					t.Fatalf("db.TableRemove failed: %v", err)
+				}
+			}
+		}
+	}
+}
+
+func TestDBTableCreateDat(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	options := grnci.NewDBTableCreateOptions()
+	options.Flags = []string{"TABLE_DAT_KEY"}
+	options.KeyType = "ShortText"
+	if err := db.TableCreate("Tbl", options); err != nil {
+		t.Fatalf("db.TableCreate failed: %v", err)
+	}
+	if err := db.TableRemove("Tbl", false); err != nil {
+		t.Fatalf("db.TableRemove failed: %v", err)
+	}
+}
+
+func TestDBTableCreateIndex(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	defaultTokenizers := []string{
+		"TokenBigram",
+		"TokenBigramSplitSymbol",
+		"TokenBigramSplitSymbolAlpha",
+		"TokenBigramSplitSymbolAlphaDigit",
+		"TokenBigramIgnoreBlank",
+		"TokenBigramIgnoreBlankSplitSymbol",
+		"TokenBigramIgnoreBlankSplitSymbolAlpha",
+		"TokenBigramIgnoreBlankSplitSymbolAlphaDigit",
+		"TokenUnigram",
+		"TokenTrigram",
+		"TokenDelimit",
+		"TokenDelimitNull",
+		"TokenRegexp",
+	}
+	if ok, _ := db.ObjectExist("TokenMecab"); ok {
+		defaultTokenizers = append(defaultTokenizers, "TokenMecab")
+	}
+	if ok, _ := db.ObjectExist("TokenKytea"); ok {
+		defaultTokenizers = append(defaultTokenizers, "TokenKytea")
+	}
+	normalizers := []string{
+		"", "NormalizerAuto",
+	}
+	tokenFilters := []string{""}
+	if err := db.PluginRegister("token_filters/stop_word"); err == nil {
+		tokenFilters = append(tokenFilters, "TokenFilterStopWord")
+	}
+	if err := db.PluginRegister("token_filters/stem"); err == nil {
+		tokenFilters = append(tokenFilters, "TokenFilterStem")
+	}
+	for _, defaultTokenizer := range defaultTokenizers {
+		for _, normalizer := range normalizers {
+			for _, tokenFilter := range tokenFilters {
+				options := grnci.NewDBTableCreateOptions()
+				options.Flags = []string{"TABLE_PAT_KEY"}
+				options.KeyType = "ShortText"
+				options.DefaultTokenizer = defaultTokenizer
+				options.Normalizer = normalizer
+				options.TokenFilters = []string{tokenFilter}
+				if err := db.TableCreate("Tbl", options); err != nil {
+					t.Fatalf("db.TableCreate failed: %v", err)
+				}
+				if err := db.TableRemove("Tbl", false); err != nil {
+					t.Fatalf("db.TableRemove failed: %v", err)
+				}
+			}
+		}
+	}
+}
+
 func TestDBTableList(t *testing.T) {
 	db, dir := makeDB(t)
 	defer removeDB(db, dir)
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20170914/de156437/attachment-0001.htm 



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