MCPcopy Create free account
hub / github.com/catboost/catboost / TestTrieSet

Method TestTrieSet

library/cpp/containers/comptrie/comptrie_ut.cpp:1063–1103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1061}
1062
1063void TCompactTrieTest::TestTrieSet() {
1064 TBuffer buffer;
1065 {
1066 TCompactTrieSet<char>::TBuilder builder;
1067 UNIT_ASSERT(builder.Add("a", 0));
1068 UNIT_ASSERT(builder.Add("ab", 1));
1069 UNIT_ASSERT(builder.Add("abc", 1));
1070 UNIT_ASSERT(builder.Add("abcd", 0));
1071 UNIT_ASSERT(!builder.Add("abcd", 1));
1072
1073 TBufferStream stream(buffer);
1074 builder.Save(stream);
1075 }
1076
1077 TCompactTrieSet<char> set(TBlob::FromBuffer(buffer));
1078 UNIT_ASSERT(set.Has("a"));
1079 UNIT_ASSERT(set.Has("ab"));
1080 UNIT_ASSERT(set.Has("abc"));
1081 UNIT_ASSERT(set.Has("abcd"));
1082 UNIT_ASSERT(!set.Has("abcde"));
1083 UNIT_ASSERT(!set.Has("aa"));
1084 UNIT_ASSERT(!set.Has("b"));
1085 UNIT_ASSERT(!set.Has(""));
1086
1087 TCompactTrieSet<char> tails;
1088 UNIT_ASSERT(set.FindTails("a", tails));
1089 UNIT_ASSERT(tails.Has("b"));
1090 UNIT_ASSERT(tails.Has("bcd"));
1091 UNIT_ASSERT(!tails.Has("ab"));
1092 UNIT_ASSERT(!set.Has(""));
1093
1094 TCompactTrieSet<char> empty;
1095 UNIT_ASSERT(set.FindTails("abcd", empty));
1096 UNIT_ASSERT(!empty.Has("a"));
1097 UNIT_ASSERT(!empty.Has("b"));
1098 UNIT_ASSERT(!empty.Has("c"));
1099 UNIT_ASSERT(!empty.Has("d"));
1100 UNIT_ASSERT(!empty.Has("d"));
1101
1102 UNIT_ASSERT(empty.Has("")); // contains only empty string
1103}
1104
1105// Tests for trie with vector (list, set) values
1106

Callers

nothing calls this directly

Calls 4

AddMethod · 0.45
SaveMethod · 0.45
HasMethod · 0.45
FindTailsMethod · 0.45

Tested by

no test coverage detected