Susumu Yata
null+****@clear*****
Thu Jul 6 15:48:52 JST 2017
Susumu Yata 2017-07-06 15:48:52 +0900 (Thu, 06 Jul 2017) New Revision: fcba9fa529638f48e6ae416585f6911455bb0198 https://github.com/groonga/grnci/commit/fcba9fa529638f48e6ae416585f6911455bb0198 Message: Add tests for normalize. GitHub: #39 Modified files: v2/libgrn/db_test.go Modified: v2/libgrn/db_test.go (+54 -19) =================================================================== --- v2/libgrn/db_test.go 2017-07-06 15:37:20 +0900 (10314c7) +++ v2/libgrn/db_test.go 2017-07-06 15:48:52 +0900 (06d2191) @@ -7,6 +7,8 @@ import ( "testing" "time" + "reflect" + "github.com/groonga/grnci/v2" ) @@ -213,26 +215,59 @@ func removeDB(db *grnci.DB, dir string) { // } // } -// func TestDBNormalize(t *testing.T) { -// client, err := NewHTTPClient("", nil) -// if err != nil { -// t.Skipf("NewHTTPClient failed: %v", err) -// } -// db := NewDB(client) -// defer db.Close() +func TestDBNormalize(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) -// result, resp, err := db.Normalize("NormalizerAuto", "LaTeX", []string{ -// "WITH_TYPES", "WITH_CHECKS", -// }) -// if err != nil { -// t.Fatalf("db.Normalize failed: %v", err) -// } -// log.Printf("result = %#v", result) -// log.Printf("resp = %#v", resp) -// if err := resp.Err(); err != nil { -// log.Printf("error = %#v", err) -// } -// } + result, resp, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", nil) + if err == nil { + err = resp.Err() + } + if err != nil { + t.Fatalf("db.Tokenize failed: %v", err) + } + if result.Normalized != "ウォーター two リットル" { + t.Fatalf("Normalized is wrong: result = %#v", result) + } + if len(result.Types) != 0 { + t.Fatalf("Types is wrong: result = %#v", result) + } + if len(result.Checks) != 0 { + t.Fatalf("Checks is wrong: result = %#v", result) + } +} + +func TestDBNormalizeWithFlags(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + + flags := []string{"WITH_TYPES", "WITH_CHECKS"} + result, resp, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", flags) + if err == nil { + err = resp.Err() + } + if err != nil { + t.Fatalf("db.Tokenize failed: %v", err) + } + if result.Normalized != "ウォーター two リットル" { + t.Fatalf("Normalized is wrong: result = %#v", result) + } + types := []string{ + "katakana", "katakana", "katakana", "katakana", "katakana", "others", + "alpha", "alpha", "alpha", "others|blank", "katakana", "katakana", + "katakana", "katakana", + } + if !reflect.DeepEqual(result.Types, types) { + t.Fatalf("Types is wrong: result = %#v", result) + } + checks := []int{ + 3, 0, 0, 3, 0, 0, 3, 0, 0, 3, 0, 0, 3, 0, 0, 1, 1, 1, 1, 1, 6, 0, 0, + -1, 0, 0, -1, 0, 0, -1, 0, 0, + } + if !reflect.DeepEqual(result.Checks, checks) { + t.Fatalf("Checks is wrong: result = %#v", result) + } +} func TestDBNormalizerList(t *testing.T) { db, dir := makeDB(t) -------------- next part -------------- HTML����������������������������... 下载