diff options
Diffstat (limited to 'decoder/cfg_test.cc')
-rwxr-xr-x | decoder/cfg_test.cc | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/decoder/cfg_test.cc b/decoder/cfg_test.cc index c4c37a2c..81efa768 100755 --- a/decoder/cfg_test.cc +++ b/decoder/cfg_test.cc @@ -3,18 +3,27 @@ #include "hg_test.h" #include "cfg_options.h" +#define CSHOW_V 1 +#if CSHOW_V +# define CSHOWDO(x) x +#else +# define CSHOWDO(x) +#endif +#define CSHOW(x) CSHOWDO(cerr<<#x<<'='<<x<<endl;) + struct CFGTest : public HGSetup { CFGTest() { } ~CFGTest() { } static void JsonFN(Hypergraph hg,CFG &cfg,std::string file ,std::string const& wts="Model_0 1 EgivenF 1 f1 1") { - FeatureVector v; + FeatureVector featw; istringstream ws(wts); -// ASSERT_TRUE(ws>>v); + EXPECT_TRUE(ws>>featw); + CSHOW(featw) HGSetup::JsonTestFile(&hg,file); -// hg.Reweight(v); - cfg.Init(hg,true,false,false); + hg.Reweight(featw); + cfg.Init(hg,true,true,false); } static void SetUpTestCase() { @@ -27,10 +36,22 @@ TEST_F(CFGTest,Binarize) { Hypergraph hg; CFG cfg; JsonFN(hg,cfg,perro_json,perro_wts); + CSHOW("\nCFG Test.\n"); + CFGBinarize b; CFGFormat form; - form.features=true; - cerr<<"\nCFG Test.\n\n"; - cfg.Print(cerr,form); + form.nt_span=true; + for (int i=-1;i<16;++i) { + b.bin_l2r=i>=0; + b.bin_unary=i&1; + b.bin_name_nts=i&2; + b.bin_uniq=i&4; + b.bin_topo=i&8; + CFG cc=cfg; + EXPECT_EQ(cc,cfg); + CSHOW("\nBinarizing: "<<b); + cc.Binarize(b); + CSHOWDO(cc.Print(cerr,form);cerr<<"\n\n";); + } } int main(int argc, char **argv) { |