26# define wordlist2dawg_prog "wordlist2dawg"
27# define dawg2wordlist_prog "dawg2wordlist"
37 std::locale::global(std::locale(
""));
41 void LoadWordlist(
const std::string &filename, std::set<std::string> *words)
const {
42 std::ifstream
file(filename);
45 while (getline(
file, line)) {
47 while (!line.empty() && (line.back() ==
'\n' || line.back() ==
'\r')) {
48 line.resize(line.size() - 1);
51 words->insert(line.c_str());
62 int RunCommand(
const std::string &program,
const std::string &arg1,
const std::string &arg2,
63 const std::string &arg3)
const {
64 std::string cmdline =
TessBinaryPath(program) +
" " + arg1 +
" " + arg2 +
" " + arg3;
65 return system(cmdline.c_str());
71 const std::string &wordlist_filename)
const {
72 std::set<std::string> orig_words, roundtrip_words;
73 std::string unicharset =
file::JoinPath(TESTING_DIR, unicharset_filename);
74 std::string orig_wordlist =
file::JoinPath(TESTING_DIR, wordlist_filename);
86 TestDawgRoundTrip(
"eng.unicharset",
"eng.wordlist.clean.freq");
#define EXPECT_EQ(val1, val2)
#define EXPECT_TRUE(condition)
#define EXPECT_FALSE(condition)
#define dawg2wordlist_prog
#define wordlist2dawg_prog
TEST_F(EuroText, FastLatinOCR)
bool load_from_file(const char *const filename, bool skip_fragments)
bool prefix_in_dawg(const WERD_CHOICE &prefix, bool requires_complete) const
bool word_in_dawg(const WERD_CHOICE &word) const
Returns true if the given word is in the Dawg.
bool add_word_to_dawg(const WERD_CHOICE &word, const std::vector< bool > *repetitions)
int RunCommand(const std::string &program, const std::string &arg1, const std::string &arg2, const std::string &arg3) const
void LoadWordlist(const std::string &filename, std::set< std::string > *words) const
std::string TessBinaryPath(const std::string &name) const
void TestDawgRoundTrip(const std::string &unicharset_filename, const std::string &wordlist_filename) const
std::string OutputNameToPath(const std::string &name) const
static std::string JoinPath(const std::string &s1, const std::string &s2)