Fixed two of the three NumTranslationOptionsTest test cases to work with new 
configuration. Packed Grammar test fails, probably missing configuration 
parameter.


Project: http://git-wip-us.apache.org/repos/asf/incubator-joshua/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-joshua/commit/d117c177
Tree: http://git-wip-us.apache.org/repos/asf/incubator-joshua/tree/d117c177
Diff: http://git-wip-us.apache.org/repos/asf/incubator-joshua/diff/d117c177

Branch: refs/heads/7_confsystem
Commit: d117c177d9130281f2b057fd1fdaf7de43c4f3b8
Parents: 89a112a
Author: Michael A. Hedderich <michael-al...@users.noreply.github.com>
Authored: Sun Sep 18 18:41:57 2016 +0200
Committer: Michael A. Hedderich <michael-al...@users.noreply.github.com>
Committed: Sun Sep 18 18:46:02 2016 +0200

----------------------------------------------------------------------
 .../NumTranslationOptionsNoDotChartTest.conf    | 28 +++++++
 .../NumTranslationOptionsNoDotChartTest.gold    |  4 +
 .../cky/NumTranslationOptionsPackedTest.conf    | 27 +++++++
 .../cky/NumTranslationOptionsPackedTest.gold    |  4 +
 .../decoder/cky/NumTranslationOptionsTest.conf  | 27 +++++++
 .../decoder/cky/NumTranslationOptionsTest.gold  |  4 +
 .../decoder/cky/NumTranslationOptionsTest.in    |  1 +
 .../decoder/cky/NumTranslationOptionsTest.java  | 83 ++++++--------------
 8 files changed, 118 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.conf
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.conf
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.conf
new file mode 100644
index 0000000..a80bd4c
--- /dev/null
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.conf
@@ -0,0 +1,28 @@
+num_translation_options = 3
+mark_oovs = false
+default_non_terminal = X
+goalSymbol = GOAL
+pop_limit = 100
+output_format = %c ||| %s ||| %f
+use_unique_nbest = true
+top_n = 5
+use_dot_chart = false
+
+feature_functions = [
+  { class = LanguageModel, lm_type = kenlm, lm_order = 5, lm_file = 
src/test/resources/decoder/num_translation_options/lm.gz }
+  { class = WordPenalty }
+  { class = OOVPenalty }
+]
+
+grammars = [
+  { class = TextGrammar, owner = pt, span_limit = 12, path = 
src/test/resources/decoder/num_translation_options/grammar.gz }
+  { class = TextGrammar, owner = glue, span_limit = -1, path = 
src/test/resources/decoder/num_translation_options/glue-grammar }
+]
+
+weights = {
+  OOVPenalty = 1.0
+  WordPenalty = 1
+  glue_0 = -1
+  lm_0 = 1.2373676802179452
+  pt_0 = -1
+}

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.gold
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.gold
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.gold
new file mode 100644
index 0000000..d130edd
--- /dev/null
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsNoDotChartTest.gold
@@ -0,0 +1,4 @@
+-19.196 ||| i like taco bell ||| pt_0=-4.000000 lm_0=-17.448898 
glue_0=-1.000000 WordPenalty=-2.605767
+-19.733 ||| i love taco bell ||| pt_0=-5.000000 lm_0=-18.690487 
glue_0=-1.000000 WordPenalty=-2.605767
+-22.883 ||| i appreciate taco bell ||| pt_0=-3.000000 lm_0=-19.620453 
glue_0=-1.000000 WordPenalty=-2.605767
+-424.954 ||| yo quiero taco bell ||| lm_0=-21.293470 glue_0=-4.000000 
WordPenalty=-2.605767 OOVPenalty=-400.000000

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.conf
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.conf
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.conf
new file mode 100644
index 0000000..dc4d6a3
--- /dev/null
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.conf
@@ -0,0 +1,27 @@
+num_translation_options = 3
+mark_oovs = false
+default_non_terminal = X
+goalSymbol = GOAL
+pop_limit = 100
+output_format = %c ||| %s ||| %f
+use_unique_nbest = true
+top_n = 5
+
+feature_functions = [
+  { class = LanguageModel, lm_type = kenlm, lm_order = 5, lm_file = 
src/test/resources/decoder/num_translation_options/lm.gz }
+  { class = WordPenalty }
+  { class = OOVPenalty }
+]
+
+grammars = [
+  { class = PackedGrammar, owner = pt, span_limit = 12, path = 
src/test/resources/decoder/num_translation_options/grammar.packed }
+  { class = TextGrammar, owner = glue, span_limit = -1, path = 
src/test/resources/decoder/num_translation_options/glue-grammar }
+]
+
+weights = {
+  OOVPenalty = 1.0
+  WordPenalty = 1
+  glue_0 = -1
+  lm_0 = 1.2373676802179452
+  pt_0 = -1
+}

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.gold
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.gold
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.gold
new file mode 100644
index 0000000..d9e97f5
--- /dev/null
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsPackedTest.gold
@@ -0,0 +1,4 @@
+-19.196 ||| i like taco bell ||| pt_0=-4.000000 lm_0=-17.448898 
glue_0=-1.000000 WordPenalty=-2.605767
+-19.733 ||| i love taco bell ||| pt_0=-5.000000 lm_0=-18.690487 
glue_0=-1.000000 WordPenalty=-2.605767
+-22.883 ||| i appreciate taco bell ||| pt_0=-3.000000 lm_0=-19.620453 
glue_0=-1.000000 WordPenalty=-2.605767
+-424.954 ||| yo quiero taco bell ||| lm_0=-21.293470 glue_0=-4.000000 
WordPenalty=-2.605767 OOVPenalty=-400.000000
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.conf
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.conf
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.conf
new file mode 100644
index 0000000..a8b8723
--- /dev/null
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.conf
@@ -0,0 +1,27 @@
+num_translation_options = 3
+mark_oovs = false
+default_non_terminal = X
+goalSymbol = GOAL
+pop_limit = 100
+output_format = %c ||| %s ||| %f
+use_unique_nbest = true
+top_n = 5
+
+feature_functions = [
+  { class = LanguageModel, lm_type = kenlm, lm_order = 5, lm_file = 
src/test/resources/decoder/num_translation_options/lm.gz }
+  { class = WordPenalty }
+  { class = OOVPenalty }
+]
+
+grammars = [
+  { class = TextGrammar, owner = pt, span_limit = 12, path = 
src/test/resources/decoder/num_translation_options/grammar.gz }
+  { class = TextGrammar, owner = glue, span_limit = -1, path = 
src/test/resources/decoder/num_translation_options/glue-grammar }
+]
+
+weights = {
+  OOVPenalty = 1.0
+  WordPenalty = 1
+  glue_0 = -1
+  lm_0 = 1.2373676802179452
+  pt_0 = -1
+}

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.gold
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.gold
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.gold
new file mode 100644
index 0000000..d9e97f5
--- /dev/null
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.gold
@@ -0,0 +1,4 @@
+-19.196 ||| i like taco bell ||| pt_0=-4.000000 lm_0=-17.448898 
glue_0=-1.000000 WordPenalty=-2.605767
+-19.733 ||| i love taco bell ||| pt_0=-5.000000 lm_0=-18.690487 
glue_0=-1.000000 WordPenalty=-2.605767
+-22.883 ||| i appreciate taco bell ||| pt_0=-3.000000 lm_0=-19.620453 
glue_0=-1.000000 WordPenalty=-2.605767
+-424.954 ||| yo quiero taco bell ||| lm_0=-21.293470 glue_0=-4.000000 
WordPenalty=-2.605767 OOVPenalty=-400.000000
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.in
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.in
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.in
new file mode 100644
index 0000000..1ef14e5
--- /dev/null
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.in
@@ -0,0 +1 @@
+yo quiero taco bell

http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/d117c177/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.java
----------------------------------------------------------------------
diff --git 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.java
 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.java
index 7038241..66db0ad 100644
--- 
a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.java
+++ 
b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/NumTranslationOptionsTest.java
@@ -18,23 +18,21 @@
  */
 package org.apache.joshua.decoder.cky;
 
-import static org.apache.joshua.decoder.cky.TestUtil.decodeList;
-import static org.apache.joshua.decoder.cky.TestUtil.loadStringsFromFile;
-import static org.testng.Assert.assertEquals;
-
-import java.util.List;
+import static com.typesafe.config.ConfigFactory.parseResources;
+import static 
org.apache.joshua.decoder.cky.TestUtil.decodeAndAssertDecodedOutputEqualsGold;
 
 import org.apache.joshua.decoder.Decoder;
-import org.apache.joshua.decoder.JoshuaConfiguration;
 import org.apache.joshua.util.io.KenLmTestUtil;
 import org.testng.annotations.AfterMethod;
+import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
+import com.typesafe.config.Config;
+
 /**
  * Tests that num_translation_options is enforced for hierarchical decoders
  */
 public class NumTranslationOptionsTest {
-  private JoshuaConfiguration joshuaConfig;
   private Decoder decoder;
 
   @AfterMethod
@@ -45,62 +43,27 @@ public class NumTranslationOptionsTest {
     }
   }
 
-  @Test
-  public void 
givenInput_whenDecodingWithNumTranslationOptions3_thenScoreAndTranslationCorrect()
-      throws Exception {
-    // Given
-    List<String> inputStrings = loadStringsFromFile(
-        "src/test/resources/decoder/num_translation_options/input");
-
-    // When
-    
configureDecoder("src/test/resources/decoder/num_translation_options/joshua.config",
 true);
-    List<String> decodedStrings = decodeList(inputStrings, decoder, 
joshuaConfig);
-
-    // Then
-    List<String> goldStrings = loadStringsFromFile(
-        "src/test/resources/decoder/num_translation_options/output.gold");
-    assertEquals(decodedStrings, goldStrings);
-  }
-
-  @Test
-  public void 
givenInput_whenDecodingWithNumTranslationOptions3AndNoDotChart_thenScoreAndTranslationCorrect()
-      throws Exception {
-    // Given
-    List<String> inputStrings = loadStringsFromFile(
-        "src/test/resources/decoder/num_translation_options/input");
-
-    // When
-    
configureDecoder("src/test/resources/decoder/num_translation_options/joshua.config",
 false);
-    List<String> decodedStrings = decodeList(inputStrings, decoder, 
joshuaConfig);
-
-    // Then
-    List<String> goldStrings = loadStringsFromFile(
-        
"src/test/resources/decoder/num_translation_options/output-no-dot-chart.gold");
-    assertEquals(decodedStrings, goldStrings);
+  @DataProvider(name = "testFiles")
+  public Object[][] lmFiles() {
+    return new Object[][] {
+        { "NumTranslationOptionsTest.conf", "NumTranslationOptionsTest.in",
+            "NumTranslationOptionsTest.gold" },
+        { "NumTranslationOptionsNoDotChartTest.conf", 
"NumTranslationOptionsTest.in",
+            "NumTranslationOptionsNoDotChartTest.gold" },
+        { "NumTranslationOptionsPackedTest.conf", 
"NumTranslationOptionsTest.in",
+            "NumTranslationOptionsPackedTest.gold" } };
   }
 
-  @Test
-  public void 
givenInput_whenDecodingWithNumTranslationOptions3AndPacked_thenScoreAndTranslationCorrect()
-      throws Exception {
-    // Given
-    List<String> inputStrings = loadStringsFromFile(
-        "src/test/resources/decoder/num_translation_options/input");
+  @Test(dataProvider = "testFiles")
+  public void 
givenInput_whenDecodingWithNumTranslationOptions_thenScoreAndTranslationCorrect(
+      String confFile, String inFile, String goldFile) throws Exception {
+    String inputPath = this.getClass().getResource(inFile).getFile();
+    String goldPath = this.getClass().getResource(goldFile).getFile();
+    Config config = parseResources(this.getClass(), confFile)
+        .withFallback(Decoder.getDefaultFlags());
+    KenLmTestUtil.Guard(() -> decoder = new Decoder(config));
 
-    // When
-    
configureDecoder("src/test/resources/decoder/num_translation_options/joshua-packed.config",
-        true);
-    List<String> decodedStrings = decodeList(inputStrings, decoder, 
joshuaConfig);
-
-    // Then
-    List<String> goldStrings = loadStringsFromFile(
-        
"src/test/resources/decoder/num_translation_options/output-packed.gold");
-    assertEquals(decodedStrings, goldStrings);
+    decodeAndAssertDecodedOutputEqualsGold(inputPath, decoder, goldPath);
   }
 
-  public void configureDecoder(String pathToConfig, boolean useDotChart) 
throws Exception {
-    joshuaConfig = new JoshuaConfiguration();
-    joshuaConfig.readConfigFile(pathToConfig);
-    joshuaConfig.use_dot_chart = useDotChart;
-    KenLmTestUtil.Guard(() -> decoder = new Decoder(joshuaConfig));
-  }
 }

Reply via email to