You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@joshua.apache.org by mj...@apache.org on 2016/09/18 00:13:57 UTC
[24/30] incubator-joshua git commit: updated test.
updated test.
I'm not sure I like the long parameter names (search_algorithm, maximum_sentence_length). It's good for descriptiveness but hopefully this will be self-documenting. Typing that is a bit of a pain on the command line...
Project: http://git-wip-us.apache.org/repos/asf/incubator-joshua/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-joshua/commit/a4667737
Tree: http://git-wip-us.apache.org/repos/asf/incubator-joshua/tree/a4667737
Diff: http://git-wip-us.apache.org/repos/asf/incubator-joshua/diff/a4667737
Branch: refs/heads/7_confsystem
Commit: a46677372de9e1f161afb5cb101aa5fb6e07a434
Parents: c762e4e
Author: Matt Post <po...@cs.jhu.edu>
Authored: Sat Sep 17 19:57:10 2016 +0200
Committer: Matt Post <po...@cs.jhu.edu>
Committed: Sat Sep 17 22:06:18 2016 +0200
----------------------------------------------------------------------
.../apache/joshua/decoder/cky/TooLongTest.java | 59 +++++++++-----------
.../test/resources/decoder/too-long/output.gold | 4 --
.../src/test/resources/decoder/too-long/test.sh | 36 ------------
3 files changed, 27 insertions(+), 72 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/a4667737/joshua-core/src/test/java/org/apache/joshua/decoder/cky/TooLongTest.java
----------------------------------------------------------------------
diff --git a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/TooLongTest.java b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/TooLongTest.java
index ad7fb11..764800a 100644
--- a/joshua-core/src/test/java/org/apache/joshua/decoder/cky/TooLongTest.java
+++ b/joshua-core/src/test/java/org/apache/joshua/decoder/cky/TooLongTest.java
@@ -21,11 +21,17 @@ package org.apache.joshua.decoder.cky;
import static org.apache.joshua.decoder.cky.TestUtil.translate;
import static org.testng.Assert.assertEquals;
+import static com.typesafe.config.ConfigFactory.parseResources;
+import static com.typesafe.config.ConfigValueFactory.fromAnyRef;
+
import org.apache.joshua.decoder.Decoder;
-import org.apache.joshua.decoder.JoshuaConfiguration;
import org.testng.annotations.AfterMethod;
+import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
+import com.typesafe.config.Config;
+import com.typesafe.config.ConfigValueFactory;
+
/**
* Ensures that the decoder trims inputs when and only when it should
*/
@@ -39,43 +45,32 @@ public class TooLongTest {
private static final String INPUT4 = "(((like each tucked string tells";
private static final String GOLD4 = "||| ||| 0.000";
- private JoshuaConfiguration joshuaConfig;
private Decoder decoder;
-
- @Test
- public void givenInput_whenMaxLen2_thenOutputCorrect() throws Exception {
- setUp(2, false);
- String output = translate(INPUT1, decoder, joshuaConfig);
- assertEquals(output.trim(), GOLD1);
+
+ @DataProvider(name = "params")
+ public Object[][] lmFiles() {
+ return new Object[][]{
+ {INPUT1, 2, false, GOLD1},
+ {INPUT2, 1, true, GOLD2},
+ {INPUT3, 8, false, GOLD3},
+ {INPUT4, 3, true, GOLD4}
+ };
}
- @Test
- public void givenInput_whenMaxLen1AndLatticeDecoding_thenOutputCorrect() throws Exception {
- setUp(1, true);
- String output = translate(INPUT2, decoder, joshuaConfig);
- assertEquals(output.trim(), GOLD2);
+ @Test(dataProvider = "params")
+ public void producesCorrectOutput(String input, int maxlen, boolean latticeDecoding, String gold) throws Exception {
+ setUp(maxlen, latticeDecoding);
+ String output = translate(input, decoder);
+ assertEquals(output.trim(), gold);
}
- @Test
- public void givenInput_whenMaxLen8_thenOutputCorrect() throws Exception {
- setUp(8, false);
- String output = translate(INPUT3, decoder, joshuaConfig);
- assertEquals(output.trim(), GOLD3);
- }
-
- @Test
- public void givenInput_whenMaxLen3AndLatticeDecoding_thenOutputCorrect() throws Exception {
- setUp(3, true);
- String output = translate(INPUT4, decoder, joshuaConfig);
- assertEquals(output.trim(), GOLD4);
- }
+ private void setUp(int maxLen, boolean latticeDecoding) throws Exception {
+ Config config = Decoder.getDefaultFlags()
+ .withValue("output_format", ConfigValueFactory.fromAnyRef("%s ||| %f ||| %c"))
+ .withValue("maximum_sentence_length", ConfigValueFactory.fromAnyRef(maxLen))
+ .withValue("lattice_decoding", ConfigValueFactory.fromAnyRef(latticeDecoding));
- public void setUp(int maxLen, boolean latticeDecoding) throws Exception {
- joshuaConfig = new JoshuaConfiguration();
- joshuaConfig.outputFormat = "%s ||| %f ||| %c";
- joshuaConfig.maxlen = maxLen;
- joshuaConfig.lattice_decoding = latticeDecoding;
- decoder = new Decoder(joshuaConfig);
+ decoder = new Decoder(config);
}
@AfterMethod
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/a4667737/joshua-core/src/test/resources/decoder/too-long/output.gold
----------------------------------------------------------------------
diff --git a/joshua-core/src/test/resources/decoder/too-long/output.gold b/joshua-core/src/test/resources/decoder/too-long/output.gold
deleted file mode 100644
index 8773765..0000000
--- a/joshua-core/src/test/resources/decoder/too-long/output.gold
+++ /dev/null
@@ -1,4 +0,0 @@
-0 ||| as kingfishers ||| tm_glue_0=2.000 ||| 0.000
-0 ||| dragonflies ||| tm_glue_0=1.000 ||| 0.000
-0 ||| (((as tumbled over rim in roundy wells stones ||| tm_glue_0=8.000 ||| 0.000
-0 ||| ||| ||| 0.000
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/a4667737/joshua-core/src/test/resources/decoder/too-long/test.sh
----------------------------------------------------------------------
diff --git a/joshua-core/src/test/resources/decoder/too-long/test.sh b/joshua-core/src/test/resources/decoder/too-long/test.sh
deleted file mode 100755
index 9491fd7..0000000
--- a/joshua-core/src/test/resources/decoder/too-long/test.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-set -u
-
-# Ensures that the decoder trims inputs when and only when it should
-
-(
-echo as kingfishers draw fire | $JOSHUA/bin/joshua -maxlen 2
-echo dragonflies draw flame | $JOSHUA/bin/joshua -maxlen 1 -lattice-decoding
-echo "(((as tumbled over rim in roundy wells stones ring" | $JOSHUA/bin/joshua -maxlen 8
-echo "(((like each tucked string tells" | $JOSHUA/bin/joshua -maxlen 3 -lattice-decoding
-) > output 2> log
-
-diff -u output output.gold > diff
-
-if [ $? -eq 0 ]; then
- rm -f log output diff
- exit 0
-else
- exit 1
-fi