From a8ec7f7af24cbc91e64da6456433ae5b81703d26 Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Sat, 13 Sep 2014 17:44:37 +0200 Subject: [PATCH] Add tests for the Kagome tokenizer --- .../ja_morph_kagome/ja_morph_kagome_test.go | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 analysis/tokenizers/ja_morph_kagome/ja_morph_kagome_test.go diff --git a/analysis/tokenizers/ja_morph_kagome/ja_morph_kagome_test.go b/analysis/tokenizers/ja_morph_kagome/ja_morph_kagome_test.go new file mode 100644 index 00000000..5899cd30 --- /dev/null +++ b/analysis/tokenizers/ja_morph_kagome/ja_morph_kagome_test.go @@ -0,0 +1,56 @@ +// Copyright (c) 2014 Couchbase, Inc. +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file +// except in compliance with the License. You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software distributed under the +// License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +// either express or implied. See the License for the specific language governing permissions +// and limitations under the License. + +// +build kagome full + +package ja_morph_kagome + +import ( + "reflect" + "testing" + + "github.com/blevesearch/bleve/analysis" +) + +func TestKagome(t *testing.T) { + + tests := []struct { + input []byte + output analysis.TokenStream + }{ + { + []byte("こんにちは世界"), + analysis.TokenStream{ + { + Start: 0, + End: 5, + Term: []byte("こんにちは"), + Position: 1, + Type: analysis.Ideographic, + }, + { + Start: 5, + End: 7, + Term: []byte("世界"), + Position: 2, + Type: analysis.Ideographic, + }, + }, + }, + } + + tokenizer := NewKagomeMorphTokenizer() + for _, test := range tests { + actuals := tokenizer.Tokenize(test.input) + + if !reflect.DeepEqual(actuals, test.output) { + t.Errorf("Expected %v, got %v for %s", test.output, actuals, string(test.input)) + } + } +}