本文整理汇总了Golang中container/vector.StringVector.Cut方法的典型用法代码示例。如果您正苦于以下问题:Golang StringVector.Cut方法的具体用法?Golang StringVector.Cut怎么用?Golang StringVector.Cut使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类container/vector.StringVector
的用法示例。
在下文中一共展示了StringVector.Cut方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestMultiFind
func TestMultiFind(t *testing.T) {
trie := NewTrie()
// these are part of the matches for the word 'hyphenation'
trie.AddString(`hyph`)
trie.AddString(`hen`)
trie.AddString(`hena`)
trie.AddString(`henat`)
expected := new(vector.StringVector)
expected.Push(`hyph`)
found := trie.AllSubstrings(`hyphenation`)
if found.Len() != expected.Len() {
t.Errorf("expected %v but found %v", *expected, *found)
}
expected.Cut(0, expected.Len())
expected.Push(`hen`)
expected.Push(`hena`)
expected.Push(`henat`)
found = trie.AllSubstrings(`henation`)
if found.Len() != expected.Len() {
t.Errorf("expected %v but found %v", *expected, *found)
}
}
示例2: TestMultiFindValue
func TestMultiFindValue(t *testing.T) {
trie := NewTrie()
// these are part of the matches for the word 'hyphenation'
trie.AddPatternString(`hy3ph`)
trie.AddPatternString(`he2n`)
trie.AddPatternString(`hena4`)
trie.AddPatternString(`hen5at`)
v1 := &vector.IntVector{0, 3, 0, 0}
v2 := &vector.IntVector{0, 2, 0}
v3 := &vector.IntVector{0, 0, 0, 4}
v4 := &vector.IntVector{0, 0, 5, 0, 0}
expectStr := new(vector.StringVector)
expectVal := new(vector.Vector) // contains elements of type *vector.IntVector
expectStr.Push(`hyph`)
expectVal.Push(v1)
found, values := trie.AllSubstringsAndValues(`hyphenation`)
if found.Len() != expectStr.Len() {
t.Errorf("expected %v but found %v", *expectStr, *found)
}
if values.Len() != expectVal.Len() {
t.Errorf("Length mismatch: expected %v but found %v", *expectVal, *values)
}
for i := 0; i < found.Len(); i++ {
if found.At(i) != expectStr.At(i) {
t.Errorf("Strings content mismatch: expected %v but found %v", *expectStr, *found)
break
}
}
for i := 0; i < values.Len(); i++ {
ev := expectVal.At(i).(*vector.IntVector)
fv := values.At(i).(*vector.IntVector)
if ev.Len() != fv.Len() {
t.Errorf("Value length mismatch: expected %v but found %v", *ev, *fv)
break
}
for i := 0; i < ev.Len(); i++ {
if ev.At(i) != fv.At(i) {
t.Errorf("Value mismatch: expected %v but found %v", *ev, *fv)
break
}
}
}
expectStr.Cut(0, expectStr.Len())
expectVal.Cut(0, expectVal.Len())
expectStr.AppendVector(&vector.StringVector{`hen`, `hena`, `henat`})
expectVal.Push(v2)
expectVal.Push(v3)
expectVal.Push(v4)
found, values = trie.AllSubstringsAndValues(`henation`)
if found.Len() != expectStr.Len() {
t.Errorf("expected %v but found %v", *expectStr, *found)
}
if values.Len() != expectVal.Len() {
t.Errorf("Length mismatch: expected %v but found %v", *expectVal, *values)
}
for i := 0; i < found.Len(); i++ {
if found.At(i) != expectStr.At(i) {
t.Errorf("Strings content mismatch: expected %v but found %v", *expectStr, *found)
break
}
}
for i := 0; i < values.Len(); i++ {
ev := expectVal.At(i).(*vector.IntVector)
fv := values.At(i).(*vector.IntVector)
if ev.Len() != fv.Len() {
t.Errorf("Value length mismatch: expected %v but found %v", *ev, *fv)
break
}
for i := 0; i < ev.Len(); i++ {
if ev.At(i) != fv.At(i) {
t.Errorf("Value mismatch: expected %v but found %v", *ev, *fv)
break
}
}
}
}