diff options
| author | redpony <redpony@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-06-22 05:12:27 +0000 | 
|---|---|---|
| committer | redpony <redpony@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-06-22 05:12:27 +0000 | 
| commit | 0172721855098ca02b207231a654dffa5e4eb1c9 (patch) | |
| tree | 8069c3a62e2d72bd64a2cdeee9724b2679c8a56b /decoder/grammar_test.cc | |
| parent | 37728b8be4d0b3df9da81fdda2198ff55b4b2d91 (diff) | |
initial checkin
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@2 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder/grammar_test.cc')
| -rw-r--r-- | decoder/grammar_test.cc | 59 | 
1 files changed, 59 insertions, 0 deletions
| diff --git a/decoder/grammar_test.cc b/decoder/grammar_test.cc new file mode 100644 index 00000000..62b8f958 --- /dev/null +++ b/decoder/grammar_test.cc @@ -0,0 +1,59 @@ +#include <cassert> +#include <iostream> +#include <fstream> +#include <vector> +#include <gtest/gtest.h> +#include "trule.h" +#include "tdict.h" +#include "grammar.h" +#include "bottom_up_parser.h" +#include "ff.h" +#include "weights.h" + +using namespace std; + +class GrammarTest : public testing::Test { + public: +  GrammarTest() { +    wts.InitFromFile("test_data/weights.gt"); +  } + protected: +  virtual void SetUp() { } +  virtual void TearDown() { } +  Weights wts; +}; +        +TEST_F(GrammarTest,TestTextGrammar) { +  vector<double> w; +  vector<const FeatureFunction*> ms; +  ModelSet models(w, ms); + +  TextGrammar g; +  TRulePtr r1(new TRule("[X] ||| a b c ||| A B C ||| 0.1 0.2 0.3", true)); +  TRulePtr r2(new TRule("[X] ||| a b c ||| 1 2 3 ||| 0.2 0.3 0.4", true)); +  TRulePtr r3(new TRule("[X] ||| a b c d ||| A B C D ||| 0.1 0.2 0.3", true)); +  cerr << r1->AsString() << endl; +  g.AddRule(r1); +  g.AddRule(r2); +  g.AddRule(r3); +} + +TEST_F(GrammarTest,TestTextGrammarFile) { +  GrammarPtr g(new TextGrammar("./test_data/grammar.prune")); +  vector<GrammarPtr> grammars(1, g); + +  LatticeArc a(TD::Convert("ein"), 0.0, 1); +  LatticeArc b(TD::Convert("haus"), 0.0, 1); +  Lattice lattice(2); +  lattice[0].push_back(a); +  lattice[1].push_back(b); +  Hypergraph forest; +  ExhaustiveBottomUpParser parser("PHRASE", grammars); +  parser.Parse(lattice, &forest); +  forest.PrintGraphviz(); +} + +int main(int argc, char **argv) { +  testing::InitGoogleTest(&argc, argv); +  return RUN_ALL_TESTS(); +} | 
