aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/containers/comptrie/loader/loader_ut.cpp
blob: 2e771357fe0a5367e4faca738dcae8881846589c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <library/cpp/testing/unittest/registar.h>
#include <library/cpp/containers/comptrie/comptrie.h>
#include <library/cpp/containers/comptrie/loader/loader.h>

using TDummyTrie = TCompactTrie<char, i32>;

namespace {
    const unsigned char DATA[] = {
#include "data.inc" 
    };
} 

Y_UNIT_TEST_SUITE(ArchiveLoaderTests) {
    Y_UNIT_TEST(BaseTest) {
        TDummyTrie trie = LoadTrieFromArchive<TDummyTrie>("/dummy.trie", DATA, true); 
        UNIT_ASSERT_EQUAL(trie.Size(), 3); 

        const TString TrieKyes[3] = { 
            "zero", "one", "two"}; 
        i32 val = -1; 
        for (i32 i = 0; i < 3; ++i) { 
            UNIT_ASSERT(trie.Find(TrieKyes[i].data(), TrieKyes[i].size(), &val));
            UNIT_ASSERT_EQUAL(i, val); 
        } 

        UNIT_CHECK_GENERATED_EXCEPTION( 
            LoadTrieFromArchive<TDummyTrie>("/noname.trie", DATA), 
            yexception); 
    }
}