/* This file is part of the Joshua Machine Translation System. * * Joshua is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package joshua.prefix_tree; import java.io.File; import java.io.IOException; import java.io.PrintStream; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Scanner; import joshua.corpus.suffix_array.Compile; import joshua.prefix_tree.ExtractRules; import joshua.util.FormatUtil; import org.testng.Assert; import org.testng.annotations.Parameters; import org.testng.annotations.Test; /** * Front to end tests to extract rules from a sample corpus using suffix arrays. * * @author Lane Schwartz * @version $LastChangedDate:2008-09-18 12:47:23 -0500 (Thu, 18 Sep 2008) $ */ public class ExtractRulesTest { // The following ruby one-liner can convert a Hiero grammar // into useful Java assertions for unit testing: // // cat hiero.grammar | sort | ruby -e 'STDIN.each_line{ |line| words=line.strip.split(" ||| "); puts "verifyLine(lines.get(n++), \"#{words[0]}\", \"#{words[1]}\", \"#{words[2]}\");"; }' > java-rules.txt // Also // cat hiero.grammar | sort | ruby -e 'STDIN.each_line{ |line| words=line.strip.split(" ||| "); puts "#{words[0]} ||| #{words[1]} ||| #{words[2]}"; }' > hiero.grammar.clean String sourceFileName; String targetFileName; String alignmentFileName; String alignmentsType; // ä == \u00E4 // ü == \u00FC // ñ == \u00F1 // í == \u00ED @Parameters({"alignmentsType"}) @Test public void setup(String alignmentsType) throws IOException { // Tell System.out and System.err to use UTF8 FormatUtil.useUTF8(); String sourceCorpusString = "it makes him and it mars him , it sets him on yet it takes him off ."; { File sourceFile = File.createTempFile("source", new Date().toString()); PrintStream sourcePrintStream = new PrintStream(sourceFile, "UTF-8"); sourcePrintStream.println(sourceCorpusString); sourcePrintStream.close(); sourceFileName = sourceFile.getAbsolutePath(); } String targetCorpusString = "das macht ihn und es besch\u00E4digt ihn , es setzt ihn auf und es f\u00FChrt ihn aus ."; { File targetFile = File.createTempFile("target", new Date().toString()); PrintWriter targetPrintStream = new PrintWriter(targetFile, "UTF-8"); // PrintStream targetPrintStream = new PrintStream(targetFile, "UTF-8"); targetPrintStream.println(targetCorpusString); targetPrintStream.close(); targetFileName = targetFile.getAbsolutePath(); } String alignmentString = "0-0 1-1 2-2 3-3 4-4 5-5 6-6 7-7 8-8 9-9 10-10 11-11 12-12 13-13 14-14 15-15 16-16 17-17"; { File alignmentFile = File.createTempFile("alignment", new Date().toString()); PrintStream alignmentPrintStream = new PrintStream(alignmentFile); alignmentPrintStream.println(alignmentString); alignmentPrintStream.close(); alignmentFileName = alignmentFile.getAbsolutePath(); } this.alignmentsType = alignmentsType; } /** * Extracts rules and returns the file name where the extracted rules are stored. * * @param testCorpusString * @param sentenceInitialX TODO * @param sentenceFinalX TODO * @param violatingX TODO * @return * @throws IOException */ private List<String> extractRules(String testCorpusString, boolean sentenceInitialX, boolean sentenceFinalX, boolean violatingX) throws IOException { return extractRules(sourceFileName, targetFileName, alignmentFileName, testCorpusString, sentenceInitialX, sentenceFinalX, violatingX, false, 2); } private List<String> extractRules(String sourceFileName, String targetFileName, String alignmentFileName, String testCorpusString, boolean sentenceInitialX, boolean sentenceFinalX, boolean violatingX, boolean printPrefixTree, int minNonterminalSpan) throws IOException { String testFileName; { File testFile = File.createTempFile("test", new Date().toString()); PrintStream testPrintStream = new PrintStream(testFile, "UTF-8"); testPrintStream.println(testCorpusString); testPrintStream.close(); testFileName = testFile.getAbsolutePath(); } // Filename of the extracted rules file. String rulesFileName; { File rulesFile = File.createTempFile("rules", new Date().toString()); rulesFileName = rulesFile.getAbsolutePath(); } String joshDirName; { File joshDir = File.createTempFile(new Date().toString(), "josh"); joshDirName = joshDir.getAbsolutePath(); joshDir.delete(); } Compile compileJoshDir = new Compile(); compileJoshDir.setSourceCorpus(sourceFileName); compileJoshDir.setTargetCorpus(targetFileName); compileJoshDir.setAlignments(alignmentFileName); compileJoshDir.setOutputDir(joshDirName); compileJoshDir.execute(); ExtractRules extractRules = new ExtractRules(); extractRules.setSentenceInitialX(sentenceInitialX); extractRules.setSentenceFinalX(sentenceFinalX); extractRules.setEdgeXViolates(violatingX); extractRules.setMaxPhraseLength(5); extractRules.setMinNonterminalSpan(minNonterminalSpan); extractRules.setJoshDir(joshDirName); extractRules.setTestFile(testFileName); extractRules.setOutputFile(rulesFileName); try { extractRules.execute(); } catch (ClassNotFoundException e) { e.printStackTrace(); Assert.fail(e.getLocalizedMessage()); } Scanner scanner = new Scanner(new File(rulesFileName)); ArrayList<String> lines = new ArrayList<String>(); while (scanner.hasNextLine()) { String line = scanner.nextLine(); lines.add(line); } Collections.sort(lines); return lines; } public void verifyLine(String line, String lhs, String sourceRHS, String targetRHS) { String[] part = line.split(" \\|\\|\\| "); Assert.assertEquals(part[0], lhs); Assert.assertEquals(part[1], sourceRHS); Assert.assertEquals(part[2], targetRHS); } @Test public void europarlSmall100() throws IOException { extractEuroparlSmall100(false); } // @Test // public void europarlSmall100ViolatingX() throws IOException { // extractEuroparlSmall100(true); // } private static class WTF extends RuntimeException { WTF(String msg) { super(msg); } } public void extractEuroparlSmall100(boolean violatingX) throws IOException { String sourceFileName = "data/europarl.es.small.100"; String targetFileName = "data/europarl.en.small.100"; String alignmentFileName = "data/es_en_europarl_alignments.txt.small.100"; String testSentence = "declaro reanudado el per\u00EDodo de sesiones del parlamento europeo , interrumpido el viernes 17 de diciembre pasado , y reitero a sus se\u00F1or\u00EDas mi deseo de que hayan tenido unas buenas vacaciones ."; boolean printPrefixTree = false; int minNonterminalSpan = 2; List<String> lines = extractRules(sourceFileName, targetFileName, alignmentFileName, testSentence, true, true, violatingX, printPrefixTree, minNonterminalSpan); int expectedLines = 525; if (violatingX) expectedLines += 14; // for (String line : lines) { // System.err.println(line); // } // if (lines.size() != expectedLines) { // throw new WTF("lines.size()=="+lines.size() + " but expectedLines=="+expectedLines); // } Assert.assertEquals(lines.size(), expectedLines); int n = 0; verifyLine(lines.get(n++), "[X]", ", [X,1] , [X,2]", ", [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] , [X,2]", ", [X,1] [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] , [X,2]", ", [X,2] [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1] , [X,2]", ", you [X,1] [X,2]"); if (violatingX) verifyLine(lines.get(n++), "[X]", ", [X,1] , y [X,2]", ", [X,1] , and [X,2]"); // Added in buggy verifyLine(lines.get(n++), "[X]", ", [X,1] , y", ", [X,1] , and"); verifyLine(lines.get(n++), "[X]", ", [X,1] , y", ", you [X,1] and"); verifyLine(lines.get(n++), "[X]", ", [X,1] ,", ", [X,1] ,"); verifyLine(lines.get(n++), "[X]", ", [X,1] a [X,2]", ", [X,1] to wish [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] a [X,2]", "too [X,1] to [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] a sus se\u00F1or\u00EDas", ", [X,1] to wish you"); verifyLine(lines.get(n++), "[X]", ", [X,1] a", ", [X,1] to"); verifyLine(lines.get(n++), "[X]", ", [X,1] a", "too [X,1] to"); verifyLine(lines.get(n++), "[X]", ", [X,1] de [X,2]", ", [X,1] [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] de [X,2]", ", [X,1] in [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] de [X,2]", ", [X,1] of [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] de [X,2]", ", [X,1] shall do [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] de [X,2]", ", still [X,1] in [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] de [X,2]", ", still [X,1] of [X,2]"); if (violatingX) verifyLine(lines.get(n++), "[X]", ", [X,1] de que [X,2]", ", [X,1] that [X,2]"); // Added in buggy verifyLine(lines.get(n++), "[X]", ", [X,1] de que", ", [X,1] that"); verifyLine(lines.get(n++), "[X]", ", [X,1] de que", ", [X,1] to the start of"); verifyLine(lines.get(n++), "[X]", ", [X,1] de", ", [X,1] attention to"); verifyLine(lines.get(n++), "[X]", ", [X,1] de", ", [X,1] in"); verifyLine(lines.get(n++), "[X]", ", [X,1] de", ", [X,1] of"); verifyLine(lines.get(n++), "[X]", ", [X,1] de", ", still [X,1] in"); verifyLine(lines.get(n++), "[X]", ", [X,1] de", ", still [X,1] of"); verifyLine(lines.get(n++), "[X]", ", [X,1] deseo [X,2]", ", [X,1] wish [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] deseo de [X,2]", ", [X,1] wish of [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] deseo de", ", [X,1] wish of"); verifyLine(lines.get(n++), "[X]", ", [X,1] deseo", ", [X,1] wish"); verifyLine(lines.get(n++), "[X]", ", [X,1] el [X,2] ,", ", [X,1] [X,2] ,"); verifyLine(lines.get(n++), "[X]", ", [X,1] el [X,2]", ", [X,1] [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] el [X,2]", ", [X,1] the [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] el", ", [X,1] the"); verifyLine(lines.get(n++), "[X]", ", [X,1] el", ", [X,1] there"); if (violatingX) verifyLine(lines.get(n++), "[X]", ", [X,1] que [X,2]", ", [X,1] that [X,2]"); // Added in buggy verifyLine(lines.get(n++), "[X]", ", [X,1] que", ", [X,1] that"); verifyLine(lines.get(n++), "[X]", ", [X,1] que", ", [X,1] which"); verifyLine(lines.get(n++), "[X]", ", [X,1] sus se\u00F1or\u00EDas", ", [X,1] wish you"); if (violatingX) verifyLine(lines.get(n++), "[X]", ", [X,1] y [X,2]", ", [X,1] and [X,2]"); // Added in buggy verifyLine(lines.get(n++), "[X]", ", [X,1] y", ", [X,1] and"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", and [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", still [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", there is [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", which [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", you [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", "and urging [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", "i [X,1]"); verifyLine(lines.get(n++), "[X]", ", [X,1]", "too [X,1]"); verifyLine(lines.get(n++), "[X]", ", y [X,1] de que", ", and [X,1] that"); verifyLine(lines.get(n++), "[X]", ", y [X,1] sus se\u00F1or\u00EDas", ", and [X,1] wish you"); verifyLine(lines.get(n++), "[X]", ", y [X,1]", ", and [X,1]"); verifyLine(lines.get(n++), "[X]", ", y reitero [X,1]", ", and i would like once again [X,1]"); verifyLine(lines.get(n++), "[X]", ", y reitero a [X,1]", ", and i would like once again to wish [X,1]"); verifyLine(lines.get(n++), "[X]", ", y reitero a", ", and i would like once again to"); verifyLine(lines.get(n++), "[X]", ", y reitero", ", and i would like once again"); verifyLine(lines.get(n++), "[X]", ", y", ", and"); verifyLine(lines.get(n++), "[X]", ",", ", which"); verifyLine(lines.get(n++), "[X]", ",", ","); verifyLine(lines.get(n++), "[X]", ",", "and"); verifyLine(lines.get(n++), "[X]", ",", "i"); verifyLine(lines.get(n++), "[X]", ",", "too"); verifyLine(lines.get(n++), "[X]", ".", "."); verifyLine(lines.get(n++), "[X]", ".", "?"); verifyLine(lines.get(n++), "[X]", ".", "materialise"); verifyLine(lines.get(n++), "[X]", "17 [X,1] , [X,2]", "17 [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "17 [X,1] , y reitero", "17 [X,1] , and i would like once again"); verifyLine(lines.get(n++), "[X]", "17 [X,1] , y", "17 [X,1] , and"); verifyLine(lines.get(n++), "[X]", "17 [X,1] ,", "17 [X,1] ,"); verifyLine(lines.get(n++), "[X]", "17 [X,1] reitero", "17 [X,1] i would like once again"); verifyLine(lines.get(n++), "[X]", "17 [X,1] y reitero", "17 [X,1] and i would like once again"); verifyLine(lines.get(n++), "[X]", "17 [X,1] y", "17 [X,1] and"); verifyLine(lines.get(n++), "[X]", "17 [X,1]", "17 [X,1]"); verifyLine(lines.get(n++), "[X]", "17 de diciembre pasado ,", "17 december 1999 ,"); verifyLine(lines.get(n++), "[X]", "17 de diciembre pasado [X,1]", "17 december 1999 [X,1]"); verifyLine(lines.get(n++), "[X]", "17 de diciembre pasado", "17 december 1999"); verifyLine(lines.get(n++), "[X]", "17", "17"); if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] , y", "[X,1] , [X,2] , and"); // Added in buggy verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] ,", ", [X,2] [X,1] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] ,", "[X,1] , [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] ,", "[X,1] [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] 17", "[X,1] [X,2] 17"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] a", "[X,1] , [X,2] to"); if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] de que", "[X,1] , [X,2] that"); // Added in buggy if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] de que", "[X,1] [X,2] to the start of"); // Added in buggy verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] de", "[X,1] , [X,2] in"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] de", "[X,1] , [X,2] of"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] de", "[X,1] [X,2] of"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] deseo de", "[X,1] , [X,2] wish of"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] deseo", "[X,1] , [X,2] wish"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] el", "[X,1] , [X,2] the"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] el", "[X,1] , [X,2] there"); if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] que", "[X,1] , [X,2] that"); // Added in buggy start if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] que", "[X,1] [X,2] that"); // Added in buggy start if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] y", "[X,1] , [X,2] and"); // Added in buggy start verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", ", [X,2] [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", "[X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", "[X,1] , you [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", "[X,1] i [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", "[X,1] in sri lanka and urging [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", "[X,1] one , there is [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido [X,2] 17", "[X,1] adjourned [X,2] 17"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido [X,2]", "[X,1] adjourned [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido el viernes", "[X,1] adjourned on friday"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido", "[X,1] adjourned"); verifyLine(lines.get(n++), "[X]", "[X,1] , y [X,2]", "[X,1] , and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , y [X,2]", "[X,1] and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , y reitero a", "[X,1] , and i would like once again to"); verifyLine(lines.get(n++), "[X]", "[X,1] , y reitero", "[X,1] , and i would like once again"); verifyLine(lines.get(n++), "[X]", "[X,1] , y", "[X,1] , and"); verifyLine(lines.get(n++), "[X]", "[X,1] , y", "[X,1] and"); verifyLine(lines.get(n++), "[X]", "[X,1] ,", "[X,1] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] ,", "[X,1] i"); verifyLine(lines.get(n++), "[X]", "[X,1] ,", "[X,1] in sri lanka and"); verifyLine(lines.get(n++), "[X]", "[X,1] ,", "[X,1] one ,"); verifyLine(lines.get(n++), "[X]", "[X,1] ,", "[X,1] to point out ,"); verifyLine(lines.get(n++), "[X]", "[X,1] .", "[X,1] ."); verifyLine(lines.get(n++), "[X]", "[X,1] .", "[X,1] ?"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2] , y", "[X,1] 17 [X,2] , and"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2] ,", "[X,1] 17 [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2] y", "[X,1] 17 [X,2] and"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2]", "[X,1] 17 [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 de diciembre pasado", "[X,1] 17 december 1999"); verifyLine(lines.get(n++), "[X]", "[X,1] 17", "[X,1] 17"); verifyLine(lines.get(n++), "[X]", "[X,1] a [X,2] de", "[X,1] to [X,2] of"); verifyLine(lines.get(n++), "[X]", "[X,1] a [X,2] que", "[X,1] for [X,2] which"); verifyLine(lines.get(n++), "[X]", "[X,1] a [X,2] que", "[X,1] on [X,2] that"); verifyLine(lines.get(n++), "[X]", "[X,1] a [X,2]", "[X,1] on [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] a [X,2]", "[X,1] to [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] a [X,2]", "[X,1] to wish [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] a sus se\u00F1or\u00EDas", "[X,1] to wish you"); verifyLine(lines.get(n++), "[X]", "[X,1] a", "[X,1] on"); verifyLine(lines.get(n++), "[X]", "[X,1] a", "[X,1] to"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] ,", "[X,1] [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] ,", "[X,1] in [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] ,", "[X,1] of [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] .", "[X,1] [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] .", "[X,1] for topical [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] .", "[X,1] of [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] .", "[X,1] shall do [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] .", "[X,2] [X,1] ."); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] del", "[X,2] 's [X,1] of"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] el", "[X,1] [X,2] the"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] el", "[X,1] of [X,2] the"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] parlamento", "[X,1] with [X,2] house"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] y", "[X,1] in [X,2] and"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2] y", "[X,1] of [X,2] and"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] 's [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] [X,2] of"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] attention to [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] by [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] for topical [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] in [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] of [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] to [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,1] with [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,2] 's [X,1] for"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,2] 's [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "[X,2] [X,1] of"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "of [X,1] [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de [X,2]", "of [X,2] [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] de diciembre pasado ,", "[X,1] december 1999 ,"); verifyLine(lines.get(n++), "[X]", "[X,1] de diciembre pasado [X,2]", "[X,1] december 1999 [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de diciembre pasado", "[X,1] december 1999"); verifyLine(lines.get(n++), "[X]", "[X,1] de que [X,2]", "[X,1] that [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de que", "[X,1] that"); verifyLine(lines.get(n++), "[X]", "[X,1] de que", "[X,1] to the start of"); verifyLine(lines.get(n++), "[X]", "[X,1] de sesiones del [X,2]", "[X,1] session of [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de sesiones del", "[X,1] session of"); verifyLine(lines.get(n++), "[X]", "[X,1] de sesiones", "[X,1] part-session"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "'s [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] 's"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] attention to"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] by"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] for topical"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] for"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] in"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] of"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] on"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] to"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "[X,1] with"); verifyLine(lines.get(n++), "[X]", "[X,1] de", "of [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] del [X,2] ,", "[X,1] by [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] del [X,2] ,", "[X,1] of [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] del [X,2]", "[X,1] by [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] del [X,2]", "[X,1] from [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] del [X,2]", "[X,1] of [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] del [X,2]", "[X,1] of the [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] del [X,2]", "[X,1] of this [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] del parlamento [X,2]", "[X,2] parliament [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] del parlamento", "parliament [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] del", "'s [X,1]"); verifyLine(lines.get(n++), "[X]", "[X,1] del", "[X,1] 's"); verifyLine(lines.get(n++), "[X]", "[X,1] del", "[X,1] by"); verifyLine(lines.get(n++), "[X]", "[X,1] del", "[X,1] from"); verifyLine(lines.get(n++), "[X]", "[X,1] del", "[X,1] of the"); verifyLine(lines.get(n++), "[X]", "[X,1] del", "[X,1] of"); verifyLine(lines.get(n++), "[X]", "[X,1] deseo [X,2] .", "[X,1] wish [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] deseo [X,2]", "[X,1] wish [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] deseo de [X,2] .", "[X,1] wish of [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] deseo de [X,2]", "[X,1] wish of [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] deseo de", "[X,1] wish of"); verifyLine(lines.get(n++), "[X]", "[X,1] deseo", "[X,1] wish"); verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2] ,", "[X,1] [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2] ,", "[X,1] the [X,2] ,"); if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2] a", "[X,1] the [X,2] on"); // Added in buggy start verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2] de", "[X,1] [X,2] in"); if (violatingX) verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2] el", "[X,1] [X,2] the"); // Added in buggy start verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2] y", "[X,1] the [X,2] and"); verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2]", "[X,1] the [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] el [X,2]", "[X,1] this [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes 17 [X,2]", "[X,1] on friday 17 [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes 17", "[X,1] on friday 17"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes [X,2]", "[X,1] on friday [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes", "[X,1] on friday"); verifyLine(lines.get(n++), "[X]", "[X,1] el", "[X,1] the"); verifyLine(lines.get(n++), "[X]", "[X,1] el", "[X,1] there"); verifyLine(lines.get(n++), "[X]", "[X,1] el", "[X,1] this"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan [X,2]", "[X,1] you [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan tenido [X,2]", "[X,1] you enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan tenido", "[X,1] you enjoyed"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan", "[X,1] you"); verifyLine(lines.get(n++), "[X]", "[X,1] mi [X,2] hayan", "[X,1] a happy new year [X,2] you"); verifyLine(lines.get(n++), "[X]", "[X,1] mi [X,2] que hayan", "[X,1] a happy new year [X,2] that you"); verifyLine(lines.get(n++), "[X]", "[X,1] mi [X,2] que", "[X,1] a happy new year [X,2] that"); verifyLine(lines.get(n++), "[X]", "[X,1] mi [X,2]", "[X,1] my [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] mi deseo de [X,2]", "[X,1] a happy new year in the hope [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] mi deseo de que", "[X,1] a happy new year in the hope that"); verifyLine(lines.get(n++), "[X]", "[X,1] mi deseo de", "[X,1] a happy new year in the hope"); verifyLine(lines.get(n++), "[X]", "[X,1] mi", "[X,1] my"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento [X,2] ,", "[X,1] parliament [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento [X,2]", "[X,1] house [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento [X,2]", "[X,1] parliament [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento europeo , [X,2]", "[X,1] the european parliament [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento europeo , interrumpido", "[X,1] the european parliament adjourned"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento europeo", "[X,1] european parliament"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento europeo", "[X,1] the european parliament"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento", "[X,1] house"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento", "[X,1] parliament"); verifyLine(lines.get(n++), "[X]", "[X,1] pasado [X,2]", "[X,2] [X,1] past"); verifyLine(lines.get(n++), "[X]", "[X,1] pasado", "[X,1] past"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2] .", "[X,1] [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2] .", "[X,1] that [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2] .", "[X,1] to [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2] .", "[X,1] which [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] , as expressed [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] , that [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] for [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] that , [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] that [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] that since [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] to [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] which [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] who [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan [X,2]", "[X,1] that you [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan tenido [X,2]", "[X,1] that you enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan tenido", "[X,1] that you enjoyed"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan", "[X,1] that you"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] , as"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] , that"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] for"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] that since"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] that"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] to"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] which"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] who"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero [X,2]", "[X,1] i would like once again [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero a [X,2]", "[X,1] i would like once again to wish [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero a sus se\u00F1or\u00EDas", "[X,1] i would like once again to wish you"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero a", "[X,1] i would like once again to"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero", "[X,1] i would like once again"); verifyLine(lines.get(n++), "[X]", "[X,1] sus se\u00F1or\u00EDas", "[X,1] wish you"); verifyLine(lines.get(n++), "[X]", "[X,1] sus", "[X,1] its"); verifyLine(lines.get(n++), "[X]", "[X,1] tenido [X,2] .", "[X,1] enjoyed [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] tenido [X,2]", "[X,1] enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] tenido unas buenas vacaciones", "[X,1] enjoyed a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "[X,1] tenido", "[X,1] enjoyed"); verifyLine(lines.get(n++), "[X]", "[X,1] unas buenas vacaciones .", "[X,1] a pleasant festive period ."); verifyLine(lines.get(n++), "[X]", "[X,1] unas buenas vacaciones", "[X,1] a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2] que", "[X,1] and [X,2] that"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2]", "[X,1] , and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2]", "[X,1] , that conference [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2]", "[X,1] activity and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2]", "[X,1] and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2]", "[X,1] and which [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2]", "[X,1] with it and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] y reitero a", "[X,1] and i would like once again to"); verifyLine(lines.get(n++), "[X]", "[X,1] y reitero", "[X,1] and i would like once again"); verifyLine(lines.get(n++), "[X]", "[X,1] y", "[X,1] , and"); verifyLine(lines.get(n++), "[X]", "[X,1] y", "[X,1] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] y", "[X,1] activity and"); verifyLine(lines.get(n++), "[X]", "[X,1] y", "[X,1] and"); verifyLine(lines.get(n++), "[X]", "[X,1] y", "[X,1] with it and"); verifyLine(lines.get(n++), "[X]", "a [X,1] de", "on [X,1] in"); verifyLine(lines.get(n++), "[X]", "a [X,1] de", "to [X,1] of"); verifyLine(lines.get(n++), "[X]", "a [X,1] mi [X,2]", "to wish [X,1] a happy new year [X,2]"); verifyLine(lines.get(n++), "[X]", "a [X,1] mi deseo de", "to wish [X,1] a happy new year in the hope"); verifyLine(lines.get(n++), "[X]", "a [X,1] que [X,2]", "on [X,1] that [X,2]"); verifyLine(lines.get(n++), "[X]", "a [X,1] que", "on [X,1] that"); verifyLine(lines.get(n++), "[X]", "a [X,1]", "[X,1] to"); verifyLine(lines.get(n++), "[X]", "a [X,1]", "on [X,1]"); verifyLine(lines.get(n++), "[X]", "a [X,1]", "to [X,1]"); verifyLine(lines.get(n++), "[X]", "a [X,1]", "to wish [X,1]"); verifyLine(lines.get(n++), "[X]", "a sus se\u00F1or\u00EDas mi [X,1]", "to wish you a happy new year [X,1]"); verifyLine(lines.get(n++), "[X]", "a sus se\u00F1or\u00EDas", "to wish you"); verifyLine(lines.get(n++), "[X]", "a", "as"); verifyLine(lines.get(n++), "[X]", "a", "on"); verifyLine(lines.get(n++), "[X]", "a", "to"); verifyLine(lines.get(n++), "[X]", "de [X,1] , [X,2]", "in [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] , [X,2]", "of [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] ,", "in [X,1] ,"); verifyLine(lines.get(n++), "[X]", "de [X,1] ,", "of [X,1] ,"); verifyLine(lines.get(n++), "[X]", "de [X,1] .", "for topical [X,1] ."); verifyLine(lines.get(n++), "[X]", "de [X,1] .", "of [X,1] ."); verifyLine(lines.get(n++), "[X]", "de [X,1] .", "with [X,1] ."); verifyLine(lines.get(n++), "[X]", "de [X,1] del", "of [X,1] of"); verifyLine(lines.get(n++), "[X]", "de [X,1] el [X,2]", "before the courts once [X,1] the [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] el [X,2]", "of [X,1] the [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] el", "before the courts once [X,1] the"); verifyLine(lines.get(n++), "[X]", "de [X,1] el", "of [X,1] the"); verifyLine(lines.get(n++), "[X]", "de [X,1] parlamento [X,2]", "with [X,1] house [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] parlamento", "with [X,1] house"); verifyLine(lines.get(n++), "[X]", "de [X,1] y [X,2]", "in [X,1] and [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] y [X,2]", "of [X,1] and [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] y [X,2]", "of [X,1] and which [X,2]"); verifyLine(lines.get(n++), "[X]", "de [X,1] y", "by [X,1] and"); verifyLine(lines.get(n++), "[X]", "de [X,1] y", "in [X,1] and"); verifyLine(lines.get(n++), "[X]", "de [X,1] y", "of [X,1] and"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "'s [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "[X,1] 's"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "[X,1] of"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "before the courts once [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "by [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "for topical [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "in [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "of [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "on [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "to [X,1]"); verifyLine(lines.get(n++), "[X]", "de [X,1]", "with [X,1]"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado , [X,1]", "december 1999 , [X,1]"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado , y", "december 1999 , and"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado ,", "december 1999 ,"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado [X,1] a", "december 1999 [X,1] to"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado [X,1] reitero", "december 1999 [X,1] i would like once again"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado [X,1]", "december 1999 [X,1]"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado", "december 1999"); verifyLine(lines.get(n++), "[X]", "de que", "to the start of"); verifyLine(lines.get(n++), "[X]", "de sesiones del [X,1] 17", "session of [X,1] 17"); verifyLine(lines.get(n++), "[X]", "de sesiones del [X,1]", "session of [X,1]"); verifyLine(lines.get(n++), "[X]", "de sesiones del parlamento europeo", "session of the european parliament"); verifyLine(lines.get(n++), "[X]", "de sesiones del", "session of"); verifyLine(lines.get(n++), "[X]", "de", "'s"); verifyLine(lines.get(n++), "[X]", "de", "before"); verifyLine(lines.get(n++), "[X]", "de", "by"); verifyLine(lines.get(n++), "[X]", "de", "for topical"); verifyLine(lines.get(n++), "[X]", "de", "for"); verifyLine(lines.get(n++), "[X]", "de", "from"); verifyLine(lines.get(n++), "[X]", "de", "in"); verifyLine(lines.get(n++), "[X]", "de", "of"); verifyLine(lines.get(n++), "[X]", "de", "on"); verifyLine(lines.get(n++), "[X]", "de", "to"); verifyLine(lines.get(n++), "[X]", "de", "with"); verifyLine(lines.get(n++), "[X]", "declaro reanudado el per\u00EDodo [X,1]", "i declare resumed the [X,1]"); verifyLine(lines.get(n++), "[X]", "declaro reanudado el per\u00EDodo", "i declare resumed the"); verifyLine(lines.get(n++), "[X]", "del [X,1] , [X,2]", "by [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "del [X,1] ,", "by [X,1] ,"); verifyLine(lines.get(n++), "[X]", "del [X,1] ,", "of [X,1] ,"); verifyLine(lines.get(n++), "[X]", "del [X,1]", "by [X,1]"); verifyLine(lines.get(n++), "[X]", "del [X,1]", "from [X,1]"); verifyLine(lines.get(n++), "[X]", "del [X,1]", "of [X,1]"); verifyLine(lines.get(n++), "[X]", "del [X,1]", "of the [X,1]"); verifyLine(lines.get(n++), "[X]", "del [X,1]", "of this [X,1]"); verifyLine(lines.get(n++), "[X]", "del parlamento [X,1]", "[X,1] parliament"); verifyLine(lines.get(n++), "[X]", "del parlamento", "parliament 's"); verifyLine(lines.get(n++), "[X]", "del parlamento", "parliament"); verifyLine(lines.get(n++), "[X]", "del", "'s"); verifyLine(lines.get(n++), "[X]", "del", "by"); verifyLine(lines.get(n++), "[X]", "del", "from"); verifyLine(lines.get(n++), "[X]", "del", "of the"); verifyLine(lines.get(n++), "[X]", "del", "of"); verifyLine(lines.get(n++), "[X]", "del", "parliament"); verifyLine(lines.get(n++), "[X]", "deseo [X,1] .", "wish [X,1] ."); verifyLine(lines.get(n++), "[X]", "deseo [X,1]", "wish [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de [X,1] .", "wish of [X,1] ."); verifyLine(lines.get(n++), "[X]", "deseo de [X,1] tenido [X,2]", "in the hope [X,1] enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "deseo de [X,1] tenido", "in the hope [X,1] enjoyed"); verifyLine(lines.get(n++), "[X]", "deseo de [X,1]", "in the hope [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de [X,1]", "wish of [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de que [X,1]", "in the hope that [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de que hayan [X,1]", "in the hope that you [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de que hayan tenido", "in the hope that you enjoyed"); verifyLine(lines.get(n++), "[X]", "deseo de que hayan", "in the hope that you"); verifyLine(lines.get(n++), "[X]", "deseo de que", "in the hope that"); verifyLine(lines.get(n++), "[X]", "deseo de", "in the hope"); verifyLine(lines.get(n++), "[X]", "deseo de", "wish of"); verifyLine(lines.get(n++), "[X]", "deseo", "hope"); verifyLine(lines.get(n++), "[X]", "deseo", "wish"); verifyLine(lines.get(n++), "[X]", "el [X,1] , [X,2]", "the [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "el [X,1] ,", "the [X,1] ,"); verifyLine(lines.get(n++), "[X]", "el [X,1] ,", "this [X,1] ,"); if (violatingX) verifyLine(lines.get(n++), "[X]", "el [X,1] a [X,2]", "the [X,1] on [X,2]"); // Added in buggy verifyLine(lines.get(n++), "[X]", "el [X,1] a", "the [X,1] on"); verifyLine(lines.get(n++), "[X]", "el [X,1] de [X,2] ,", "the [X,1] [X,2] ,"); verifyLine(lines.get(n++), "[X]", "el [X,1] de [X,2]", "the [X,1] [X,2]"); verifyLine(lines.get(n++), "[X]", "el [X,1] de", "the [X,1] 's"); if (violatingX) verifyLine(lines.get(n++), "[X]", "el [X,1] el [X,2]", "the [X,1] [X,2]"); // Added in buggy verifyLine(lines.get(n++), "[X]", "el [X,1] y [X,2]", "the [X,1] and [X,2]"); verifyLine(lines.get(n++), "[X]", "el [X,1] y", "the [X,1] and"); verifyLine(lines.get(n++), "[X]", "el [X,1]", "the [X,1]"); verifyLine(lines.get(n++), "[X]", "el [X,1]", "this [X,1]"); verifyLine(lines.get(n++), "[X]", "el viernes 17 [X,1] ,", "on friday 17 [X,1] ,"); verifyLine(lines.get(n++), "[X]", "el viernes 17 [X,1] y", "on friday 17 [X,1] and"); verifyLine(lines.get(n++), "[X]", "el viernes 17 [X,1]", "on friday 17 [X,1]"); verifyLine(lines.get(n++), "[X]", "el viernes 17", "on friday 17"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1] , y", "on friday [X,1] , and"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1] ,", "on friday [X,1] ,"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1] y", "on friday [X,1] and"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1]", "on friday [X,1]"); verifyLine(lines.get(n++), "[X]", "el viernes", "on friday"); verifyLine(lines.get(n++), "[X]", "el", "the"); verifyLine(lines.get(n++), "[X]", "el", "there"); verifyLine(lines.get(n++), "[X]", "el", "this"); verifyLine(lines.get(n++), "[X]", "europeo", "european"); verifyLine(lines.get(n++), "[X]", "europeo", "the european"); verifyLine(lines.get(n++), "[X]", "hayan [X,1] .", "you [X,1] ."); verifyLine(lines.get(n++), "[X]", "hayan [X,1]", "you [X,1]"); verifyLine(lines.get(n++), "[X]", "hayan tenido [X,1] .", "you enjoyed [X,1] ."); verifyLine(lines.get(n++), "[X]", "hayan tenido [X,1]", "you enjoyed [X,1]"); verifyLine(lines.get(n++), "[X]", "hayan tenido unas buenas vacaciones", "you enjoyed a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "hayan tenido", "you enjoyed"); verifyLine(lines.get(n++), "[X]", "hayan", "you"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] , y", "adjourned [X,1] , and"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] ,", "adjourned [X,1] ,"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17 [X,2] ,", "adjourned [X,1] 17 [X,2] ,"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17 [X,2] y", "adjourned [X,1] 17 [X,2] and"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17 [X,2]", "adjourned [X,1] 17 [X,2]"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17", "adjourned [X,1] 17"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] de diciembre pasado", "adjourned [X,1] december 1999"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] y", "adjourned [X,1] and"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1]", "adjourned [X,1]"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes 17 [X,1]", "adjourned on friday 17 [X,1]"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes 17", "adjourned on friday 17"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes [X,1] ,", "adjourned on friday [X,1] ,"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes [X,1] y", "adjourned on friday [X,1] and"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes [X,1]", "adjourned on friday [X,1]"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes", "adjourned on friday"); verifyLine(lines.get(n++), "[X]", "interrumpido", "adjourned"); verifyLine(lines.get(n++), "[X]", "mi [X,1] que [X,2]", "my [X,1] that since [X,2]"); verifyLine(lines.get(n++), "[X]", "mi [X,1] que", "my [X,1] that since"); verifyLine(lines.get(n++), "[X]", "mi [X,1]", "my [X,1]"); verifyLine(lines.get(n++), "[X]", "mi", "my"); verifyLine(lines.get(n++), "[X]", "parlamento [X,1] , [X,2]", "parliament [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "parlamento [X,1] ,", "parliament [X,1] ,"); verifyLine(lines.get(n++), "[X]", "parlamento [X,1] de", "house [X,1] 's"); verifyLine(lines.get(n++), "[X]", "parlamento [X,1]", "house [X,1]"); verifyLine(lines.get(n++), "[X]", "parlamento [X,1]", "parliament [X,1]"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , [X,1] 17", "the european parliament [X,1] 17"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , [X,1]", "the european parliament [X,1]"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , interrumpido [X,1]", "the european parliament adjourned [X,1]"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , interrumpido", "the european parliament adjourned"); verifyLine(lines.get(n++), "[X]", "parlamento europeo", "european parliament"); verifyLine(lines.get(n++), "[X]", "parlamento europeo", "the european parliament"); verifyLine(lines.get(n++), "[X]", "parlamento", "house"); verifyLine(lines.get(n++), "[X]", "parlamento", "parliament"); verifyLine(lines.get(n++), "[X]", "pasado", "past"); verifyLine(lines.get(n++), "[X]", "que [X,1] .", "that [X,1] ."); verifyLine(lines.get(n++), "[X]", "que [X,1] .", "to [X,1] ."); verifyLine(lines.get(n++), "[X]", "que [X,1] .", "which [X,1] ."); verifyLine(lines.get(n++), "[X]", "que [X,1] .", "who [X,1] ."); verifyLine(lines.get(n++), "[X]", "que [X,1] unas buenas vacaciones", "that [X,1] a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "[X,1] that"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "as expressed [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "because [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "for [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "that , [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "that [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "that since [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "to [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "which [X,1]"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "who [X,1]"); verifyLine(lines.get(n++), "[X]", "que hayan [X,1] .", "that you [X,1] ."); verifyLine(lines.get(n++), "[X]", "que hayan [X,1]", "that you [X,1]"); verifyLine(lines.get(n++), "[X]", "que hayan tenido [X,1] .", "that you enjoyed [X,1] ."); verifyLine(lines.get(n++), "[X]", "que hayan tenido [X,1]", "that you enjoyed [X,1]"); verifyLine(lines.get(n++), "[X]", "que hayan tenido", "that you enjoyed"); verifyLine(lines.get(n++), "[X]", "que hayan", "that you"); verifyLine(lines.get(n++), "[X]", "que", "as"); verifyLine(lines.get(n++), "[X]", "que", "because"); verifyLine(lines.get(n++), "[X]", "que", "for"); verifyLine(lines.get(n++), "[X]", "que", "that since"); verifyLine(lines.get(n++), "[X]", "que", "that"); verifyLine(lines.get(n++), "[X]", "que", "to"); verifyLine(lines.get(n++), "[X]", "que", "which"); verifyLine(lines.get(n++), "[X]", "que", "who"); verifyLine(lines.get(n++), "[X]", "reitero [X,1]", "i would like once again [X,1]"); verifyLine(lines.get(n++), "[X]", "reitero a [X,1]", "i would like once again to wish [X,1]"); verifyLine(lines.get(n++), "[X]", "reitero a sus se\u00F1or\u00EDas", "i would like once again to wish you"); verifyLine(lines.get(n++), "[X]", "reitero a", "i would like once again to"); verifyLine(lines.get(n++), "[X]", "reitero", "i would like once again"); verifyLine(lines.get(n++), "[X]", "sesiones", "part-session"); verifyLine(lines.get(n++), "[X]", "sesiones", "session"); verifyLine(lines.get(n++), "[X]", "sus [X,1]", "its [X,1]"); verifyLine(lines.get(n++), "[X]", "sus [X,1]", "their [X,1]"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas [X,1]", "you [X,1]"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi [X,1] hayan", "you a happy new year [X,1] you"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi [X,1] que", "you a happy new year [X,1] that"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi [X,1]", "you a happy new year [X,1]"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi deseo de", "you a happy new year in the hope"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas", "you"); verifyLine(lines.get(n++), "[X]", "sus", "his"); verifyLine(lines.get(n++), "[X]", "sus", "its"); verifyLine(lines.get(n++), "[X]", "sus", "their"); verifyLine(lines.get(n++), "[X]", "tenido [X,1] .", "enjoyed [X,1] ."); verifyLine(lines.get(n++), "[X]", "tenido [X,1]", "enjoyed [X,1]"); verifyLine(lines.get(n++), "[X]", "tenido unas buenas vacaciones .", "enjoyed a pleasant festive period ."); verifyLine(lines.get(n++), "[X]", "tenido unas buenas vacaciones", "enjoyed a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "tenido", "enjoyed"); verifyLine(lines.get(n++), "[X]", "tenido", "has"); verifyLine(lines.get(n++), "[X]", "unas buenas vacaciones .", "a pleasant festive period ."); verifyLine(lines.get(n++), "[X]", "unas buenas vacaciones", "a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "y [X,1] de [X,2]", "and [X,1] [X,2]"); verifyLine(lines.get(n++), "[X]", "y [X,1] de que", "and [X,1] that"); verifyLine(lines.get(n++), "[X]", "y [X,1] de", "and [X,1] of"); verifyLine(lines.get(n++), "[X]", "y [X,1] que [X,2]", "and [X,1] that [X,2]"); verifyLine(lines.get(n++), "[X]", "y [X,1] que", "and [X,1] that"); verifyLine(lines.get(n++), "[X]", "y [X,1] sus se\u00F1or\u00EDas", "and [X,1] wish you"); verifyLine(lines.get(n++), "[X]", "y [X,1]", ", that conference [X,1]"); verifyLine(lines.get(n++), "[X]", "y [X,1]", "and [X,1]"); verifyLine(lines.get(n++), "[X]", "y [X,1]", "and the [X,1]"); verifyLine(lines.get(n++), "[X]", "y [X,1]", "and which [X,1]"); verifyLine(lines.get(n++), "[X]", "y reitero [X,1]", "and i would like once again [X,1]"); verifyLine(lines.get(n++), "[X]", "y reitero a [X,1]", "and i would like once again to wish [X,1]"); verifyLine(lines.get(n++), "[X]", "y reitero a sus se\u00F1or\u00EDas", "and i would like once again to wish you"); verifyLine(lines.get(n++), "[X]", "y reitero a", "and i would like once again to"); verifyLine(lines.get(n++), "[X]", "y reitero", "and i would like once again"); verifyLine(lines.get(n++), "[X]", "y", ","); verifyLine(lines.get(n++), "[X]", "y", "and"); Assert.assertEquals(n, expectedLines); } @Test public void europarlSmall1() throws IOException { String sourceFileName = "data/europarl.es.small.1"; String targetFileName = "data/europarl.en.small.1"; String alignmentFileName = "data/es_en_europarl_alignments.txt.small.1"; boolean printPrefixTree = false; List<String> lines = extractRules(sourceFileName, targetFileName, alignmentFileName, "declaro reanudado el per\u00EDodo de sesiones del parlamento europeo , interrumpido el viernes 17 de diciembre pasado , y reitero a sus se\u00F1or\u00EDas mi deseo de que hayan tenido unas buenas vacaciones .", true, true, false, printPrefixTree, 2); // Assert.assertEquals(lines.size(), 197); int n = 0; verifyLine(lines.get(n++), "[X]", ", [X,1] a [X,2]", ", [X,1] to wish [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] a sus se\u00F1or\u00EDas", ", [X,1] to wish you"); verifyLine(lines.get(n++), "[X]", ", [X,1] a", ", [X,1] to"); verifyLine(lines.get(n++), "[X]", ", [X,1] sus se\u00F1or\u00EDas", ", [X,1] wish you"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", [X,1]"); verifyLine(lines.get(n++), "[X]", ", y [X,1] sus se\u00F1or\u00EDas", ", and [X,1] wish you"); verifyLine(lines.get(n++), "[X]", ", y [X,1]", ", and [X,1]"); verifyLine(lines.get(n++), "[X]", ", y reitero [X,1]", ", and i would like once again [X,1]"); verifyLine(lines.get(n++), "[X]", ", y reitero a [X,1]", ", and i would like once again to wish [X,1]"); verifyLine(lines.get(n++), "[X]", ", y reitero a", ", and i would like once again to"); verifyLine(lines.get(n++), "[X]", ", y reitero", ", and i would like once again"); verifyLine(lines.get(n++), "[X]", ", y", ", and"); verifyLine(lines.get(n++), "[X]", ",", ","); verifyLine(lines.get(n++), "[X]", ".", "."); verifyLine(lines.get(n++), "[X]", "17 [X,1] , [X,2]", "17 [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "17 [X,1] , y reitero", "17 [X,1] , and i would like once again"); verifyLine(lines.get(n++), "[X]", "17 [X,1] , y", "17 [X,1] , and"); verifyLine(lines.get(n++), "[X]", "17 [X,1] ,", "17 [X,1] ,"); verifyLine(lines.get(n++), "[X]", "17 [X,1] reitero", "17 [X,1] i would like once again"); verifyLine(lines.get(n++), "[X]", "17 [X,1] y reitero", "17 [X,1] and i would like once again"); verifyLine(lines.get(n++), "[X]", "17 [X,1] y", "17 [X,1] and"); verifyLine(lines.get(n++), "[X]", "17 [X,1]", "17 [X,1]"); verifyLine(lines.get(n++), "[X]", "17 de diciembre pasado ,", "17 december 1999 ,"); verifyLine(lines.get(n++), "[X]", "17 de diciembre pasado [X,1]", "17 december 1999 [X,1]"); verifyLine(lines.get(n++), "[X]", "17 de diciembre pasado", "17 december 1999"); verifyLine(lines.get(n++), "[X]", "17", "17"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] 17", "[X,1] [X,2] 17"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] a", "[X,1] , [X,2] to"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", "[X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido [X,2] 17", "[X,1] adjourned [X,2] 17"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido [X,2]", "[X,1] adjourned [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido el viernes", "[X,1] adjourned on friday"); verifyLine(lines.get(n++), "[X]", "[X,1] , interrumpido", "[X,1] adjourned"); verifyLine(lines.get(n++), "[X]", "[X,1] , y [X,2]", "[X,1] , and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , y reitero a", "[X,1] , and i would like once again to"); verifyLine(lines.get(n++), "[X]", "[X,1] , y reitero", "[X,1] , and i would like once again"); verifyLine(lines.get(n++), "[X]", "[X,1] , y", "[X,1] , and"); verifyLine(lines.get(n++), "[X]", "[X,1] ,", "[X,1] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] .", "[X,1] ."); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2] , y", "[X,1] 17 [X,2] , and"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2] ,", "[X,1] 17 [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2] y", "[X,1] 17 [X,2] and"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 [X,2]", "[X,1] 17 [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] 17 de diciembre pasado", "[X,1] 17 december 1999"); verifyLine(lines.get(n++), "[X]", "[X,1] 17", "[X,1] 17"); verifyLine(lines.get(n++), "[X]", "[X,1] a [X,2]", "[X,1] to wish [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] a sus se\u00F1or\u00EDas", "[X,1] to wish you"); verifyLine(lines.get(n++), "[X]", "[X,1] a", "[X,1] to"); verifyLine(lines.get(n++), "[X]", "[X,1] de diciembre pasado ,", "[X,1] december 1999 ,"); verifyLine(lines.get(n++), "[X]", "[X,1] de diciembre pasado [X,2]", "[X,1] december 1999 [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de diciembre pasado", "[X,1] december 1999"); verifyLine(lines.get(n++), "[X]", "[X,1] de sesiones del [X,2]", "[X,1] session of [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] de sesiones del", "[X,1] session of"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes 17 [X,2]", "[X,1] on friday 17 [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes 17", "[X,1] on friday 17"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes [X,2]", "[X,1] on friday [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] el viernes", "[X,1] on friday"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan [X,2]", "[X,1] you [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan tenido [X,2]", "[X,1] you enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan tenido", "[X,1] you enjoyed"); verifyLine(lines.get(n++), "[X]", "[X,1] hayan", "[X,1] you"); verifyLine(lines.get(n++), "[X]", "[X,1] mi [X,2] hayan", "[X,1] a happy new year [X,2] you"); verifyLine(lines.get(n++), "[X]", "[X,1] mi [X,2] que hayan", "[X,1] a happy new year [X,2] that you"); verifyLine(lines.get(n++), "[X]", "[X,1] mi [X,2] que", "[X,1] a happy new year [X,2] that"); verifyLine(lines.get(n++), "[X]", "[X,1] mi deseo de [X,2]", "[X,1] a happy new year in the hope [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] mi deseo de que", "[X,1] a happy new year in the hope that"); verifyLine(lines.get(n++), "[X]", "[X,1] mi deseo de", "[X,1] a happy new year in the hope"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento europeo , [X,2]", "[X,1] the european parliament [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento europeo , interrumpido", "[X,1] the european parliament adjourned"); verifyLine(lines.get(n++), "[X]", "[X,1] parlamento europeo", "[X,1] the european parliament"); verifyLine(lines.get(n++), "[X]", "[X,1] que [X,2]", "[X,1] that [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan [X,2]", "[X,1] that you [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan tenido [X,2]", "[X,1] that you enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan tenido", "[X,1] that you enjoyed"); verifyLine(lines.get(n++), "[X]", "[X,1] que hayan", "[X,1] that you"); verifyLine(lines.get(n++), "[X]", "[X,1] que", "[X,1] that"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero [X,2]", "[X,1] i would like once again [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero a [X,2]", "[X,1] i would like once again to wish [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero a sus se\u00F1or\u00EDas", "[X,1] i would like once again to wish you"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero a", "[X,1] i would like once again to"); verifyLine(lines.get(n++), "[X]", "[X,1] reitero", "[X,1] i would like once again"); verifyLine(lines.get(n++), "[X]", "[X,1] sus se\u00F1or\u00EDas", "[X,1] wish you"); verifyLine(lines.get(n++), "[X]", "[X,1] tenido [X,2] .", "[X,1] enjoyed [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] tenido [X,2]", "[X,1] enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] tenido unas buenas vacaciones", "[X,1] enjoyed a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "[X,1] tenido", "[X,1] enjoyed"); verifyLine(lines.get(n++), "[X]", "[X,1] unas buenas vacaciones .", "[X,1] a pleasant festive period ."); verifyLine(lines.get(n++), "[X]", "[X,1] unas buenas vacaciones", "[X,1] a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "[X,1] y [X,2]", "[X,1] and [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] y reitero a", "[X,1] and i would like once again to"); verifyLine(lines.get(n++), "[X]", "[X,1] y reitero", "[X,1] and i would like once again"); verifyLine(lines.get(n++), "[X]", "[X,1] y", "[X,1] and"); verifyLine(lines.get(n++), "[X]", "a [X,1] mi [X,2]", "to wish [X,1] a happy new year [X,2]"); verifyLine(lines.get(n++), "[X]", "a [X,1] mi deseo de", "to wish [X,1] a happy new year in the hope"); verifyLine(lines.get(n++), "[X]", "a [X,1]", "to wish [X,1]"); verifyLine(lines.get(n++), "[X]", "a sus se\u00F1or\u00EDas mi [X,1]", "to wish you a happy new year [X,1]"); verifyLine(lines.get(n++), "[X]", "a sus se\u00F1or\u00EDas", "to wish you"); verifyLine(lines.get(n++), "[X]", "a", "to"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado , [X,1]", "december 1999 , [X,1]"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado , y", "december 1999 , and"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado ,", "december 1999 ,"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado [X,1] a", "december 1999 [X,1] to"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado [X,1] reitero", "december 1999 [X,1] i would like once again"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado [X,1]", "december 1999 [X,1]"); verifyLine(lines.get(n++), "[X]", "de diciembre pasado", "december 1999"); verifyLine(lines.get(n++), "[X]", "de sesiones del [X,1] 17", "session of [X,1] 17"); verifyLine(lines.get(n++), "[X]", "de sesiones del [X,1]", "session of [X,1]"); verifyLine(lines.get(n++), "[X]", "de sesiones del parlamento europeo", "session of the european parliament"); verifyLine(lines.get(n++), "[X]", "de sesiones del", "session of"); verifyLine(lines.get(n++), "[X]", "de", "in"); verifyLine(lines.get(n++), "[X]", "declaro reanudado el per\u00EDodo [X,1]", "i declare resumed the [X,1]"); verifyLine(lines.get(n++), "[X]", "declaro reanudado el per\u00EDodo", "i declare resumed the"); verifyLine(lines.get(n++), "[X]", "deseo de [X,1] tenido [X,2]", "in the hope [X,1] enjoyed [X,2]"); verifyLine(lines.get(n++), "[X]", "deseo de [X,1] tenido", "in the hope [X,1] enjoyed"); verifyLine(lines.get(n++), "[X]", "deseo de [X,1]", "in the hope [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de que [X,1]", "in the hope that [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de que hayan [X,1]", "in the hope that you [X,1]"); verifyLine(lines.get(n++), "[X]", "deseo de que hayan tenido", "in the hope that you enjoyed"); verifyLine(lines.get(n++), "[X]", "deseo de que hayan", "in the hope that you"); verifyLine(lines.get(n++), "[X]", "deseo de que", "in the hope that"); verifyLine(lines.get(n++), "[X]", "deseo de", "in the hope"); verifyLine(lines.get(n++), "[X]", "deseo", "hope"); verifyLine(lines.get(n++), "[X]", "el viernes 17 [X,1] ,", "on friday 17 [X,1] ,"); verifyLine(lines.get(n++), "[X]", "el viernes 17 [X,1] y", "on friday 17 [X,1] and"); verifyLine(lines.get(n++), "[X]", "el viernes 17 [X,1]", "on friday 17 [X,1]"); verifyLine(lines.get(n++), "[X]", "el viernes 17", "on friday 17"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1] , y", "on friday [X,1] , and"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1] ,", "on friday [X,1] ,"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1] y", "on friday [X,1] and"); verifyLine(lines.get(n++), "[X]", "el viernes [X,1]", "on friday [X,1]"); verifyLine(lines.get(n++), "[X]", "el viernes", "on friday"); verifyLine(lines.get(n++), "[X]", "europeo", "the european"); verifyLine(lines.get(n++), "[X]", "hayan [X,1] .", "you [X,1] ."); verifyLine(lines.get(n++), "[X]", "hayan [X,1]", "you [X,1]"); verifyLine(lines.get(n++), "[X]", "hayan tenido [X,1] .", "you enjoyed [X,1] ."); verifyLine(lines.get(n++), "[X]", "hayan tenido [X,1]", "you enjoyed [X,1]"); verifyLine(lines.get(n++), "[X]", "hayan tenido unas buenas vacaciones", "you enjoyed a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "hayan tenido", "you enjoyed"); verifyLine(lines.get(n++), "[X]", "hayan", "you"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] , y", "adjourned [X,1] , and"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] ,", "adjourned [X,1] ,"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17 [X,2] ,", "adjourned [X,1] 17 [X,2] ,"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17 [X,2] y", "adjourned [X,1] 17 [X,2] and"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17 [X,2]", "adjourned [X,1] 17 [X,2]"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] 17", "adjourned [X,1] 17"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] de diciembre pasado", "adjourned [X,1] december 1999"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1] y", "adjourned [X,1] and"); verifyLine(lines.get(n++), "[X]", "interrumpido [X,1]", "adjourned [X,1]"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes 17 [X,1]", "adjourned on friday 17 [X,1]"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes 17", "adjourned on friday 17"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes [X,1] ,", "adjourned on friday [X,1] ,"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes [X,1] y", "adjourned on friday [X,1] and"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes [X,1]", "adjourned on friday [X,1]"); verifyLine(lines.get(n++), "[X]", "interrumpido el viernes", "adjourned on friday"); verifyLine(lines.get(n++), "[X]", "interrumpido", "adjourned"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , [X,1] 17", "the european parliament [X,1] 17"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , [X,1]", "the european parliament [X,1]"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , interrumpido [X,1]", "the european parliament adjourned [X,1]"); verifyLine(lines.get(n++), "[X]", "parlamento europeo , interrumpido", "the european parliament adjourned"); verifyLine(lines.get(n++), "[X]", "parlamento europeo", "the european parliament"); verifyLine(lines.get(n++), "[X]", "parlamento", "parliament"); verifyLine(lines.get(n++), "[X]", "que [X,1] .", "that [X,1] ."); verifyLine(lines.get(n++), "[X]", "que [X,1] unas buenas vacaciones", "that [X,1] a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "que [X,1]", "that [X,1]"); verifyLine(lines.get(n++), "[X]", "que hayan [X,1] .", "that you [X,1] ."); verifyLine(lines.get(n++), "[X]", "que hayan [X,1]", "that you [X,1]"); verifyLine(lines.get(n++), "[X]", "que hayan tenido [X,1] .", "that you enjoyed [X,1] ."); verifyLine(lines.get(n++), "[X]", "que hayan tenido [X,1]", "that you enjoyed [X,1]"); verifyLine(lines.get(n++), "[X]", "que hayan tenido", "that you enjoyed"); verifyLine(lines.get(n++), "[X]", "que hayan", "that you"); verifyLine(lines.get(n++), "[X]", "que", "that"); verifyLine(lines.get(n++), "[X]", "reitero [X,1]", "i would like once again [X,1]"); verifyLine(lines.get(n++), "[X]", "reitero a [X,1]", "i would like once again to wish [X,1]"); verifyLine(lines.get(n++), "[X]", "reitero a sus se\u00F1or\u00EDas", "i would like once again to wish you"); verifyLine(lines.get(n++), "[X]", "reitero a", "i would like once again to"); verifyLine(lines.get(n++), "[X]", "reitero", "i would like once again"); verifyLine(lines.get(n++), "[X]", "sesiones", "session"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi [X,1] hayan", "you a happy new year [X,1] you"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi [X,1] que", "you a happy new year [X,1] that"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi [X,1]", "you a happy new year [X,1]"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas mi deseo de", "you a happy new year in the hope"); verifyLine(lines.get(n++), "[X]", "sus se\u00F1or\u00EDas", "you"); verifyLine(lines.get(n++), "[X]", "tenido [X,1] .", "enjoyed [X,1] ."); verifyLine(lines.get(n++), "[X]", "tenido [X,1]", "enjoyed [X,1]"); verifyLine(lines.get(n++), "[X]", "tenido unas buenas vacaciones .", "enjoyed a pleasant festive period ."); verifyLine(lines.get(n++), "[X]", "tenido unas buenas vacaciones", "enjoyed a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "tenido", "enjoyed"); verifyLine(lines.get(n++), "[X]", "unas buenas vacaciones .", "a pleasant festive period ."); verifyLine(lines.get(n++), "[X]", "unas buenas vacaciones", "a pleasant festive period"); verifyLine(lines.get(n++), "[X]", "y [X,1] sus se\u00F1or\u00EDas", "and [X,1] wish you"); verifyLine(lines.get(n++), "[X]", "y [X,1]", "and [X,1]"); verifyLine(lines.get(n++), "[X]", "y reitero [X,1]", "and i would like once again [X,1]"); verifyLine(lines.get(n++), "[X]", "y reitero a [X,1]", "and i would like once again to wish [X,1]"); verifyLine(lines.get(n++), "[X]", "y reitero a sus se\u00F1or\u00EDas", "and i would like once again to wish you"); verifyLine(lines.get(n++), "[X]", "y reitero a", "and i would like once again to"); verifyLine(lines.get(n++), "[X]", "y reitero", "and i would like once again"); verifyLine(lines.get(n++), "[X]", "y", "and"); } @Test(dependsOnMethods={"setup"}) public void testRuleSet1() throws IOException { List<String> lines = extractRules("it", false, false, false); Assert.assertEquals(lines.size(), 2); int n = 0; verifyLine(lines.get(n++), "[X]", "it", "das"); verifyLine(lines.get(n++), "[X]", "it", "es"); // From Hiero: // [X] ||| [X,1] it ||| [X,1] es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| es [X,1] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| das [X,1] ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| [X,1] it [X,2] ||| [X,1] es [X,2] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it ||| das ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it ||| es ||| 0.124938733876 -0.0 0.124938733876 } @Test(dependsOnMethods={"setup"}) public void testRuleSet1Expanded() throws IOException { List<String> lines = extractRules("it", true, true, false); // // for (String line : lines) { // System.err.println(line); // } Assert.assertEquals(lines.size(), 6); int n = 0; verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2]", "[X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it", "[X,1] es"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "das [X,1]"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "es [X,1]"); verifyLine(lines.get(n++), "[X]", "it", "das"); verifyLine(lines.get(n++), "[X]", "it", "es"); // From Hiero: // [X] ||| [X,1] it ||| [X,1] es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| es [X,1] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| das [X,1] ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| [X,1] it [X,2] ||| [X,1] es [X,2] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it ||| das ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it ||| es ||| 0.124938733876 -0.0 0.124938733876 } @Test(dependsOnMethods={"setup"}) public void testRuleSet2() throws IOException { List<String> lines = extractRules("it makes", false, false, false); Assert.assertEquals(lines.size(), 6); int n = 0; verifyLine(lines.get(n++), "[X]", "it [X,1]", "das [X,1]"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "es [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes", "das macht"); verifyLine(lines.get(n++), "[X]", "it", "das"); verifyLine(lines.get(n++), "[X]", "it", "es"); verifyLine(lines.get(n++), "[X]", "makes", "macht"); //From Hiero: // [X] ||| [X,1] it ||| [X,1] es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| es [X,1] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| das [X,1] ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| [X,1] it [X,2] ||| [X,1] es [X,2] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it ||| das ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it ||| es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| makes ||| macht ||| -0.0 -0.0 -0.0 // [X] ||| makes [X,1] ||| macht [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| it makes [X,1] ||| das macht [X,1] ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes ||| das macht ||| -0.0 -0.0 0.60206001997 } @Test(dependsOnMethods={"setup"}) public void testRuleSet2Expanded() throws IOException { List<String> lines = extractRules("it makes", true, true, false); Assert.assertEquals(lines.size(), 10); int n = 0; verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2]", "[X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it", "[X,1] es"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "das [X,1]"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "es [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1]", "das macht [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes", "das macht"); verifyLine(lines.get(n++), "[X]", "it", "das"); verifyLine(lines.get(n++), "[X]", "it", "es"); verifyLine(lines.get(n++), "[X]", "makes [X,1]", "macht [X,1]"); verifyLine(lines.get(n++), "[X]", "makes", "macht"); //From Hiero: // [X] ||| [X,1] it ||| [X,1] es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| es [X,1] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it [X,1] ||| das [X,1] ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| [X,1] it [X,2] ||| [X,1] es [X,2] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it ||| das ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it ||| es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| makes ||| macht ||| -0.0 -0.0 -0.0 // [X] ||| makes [X,1] ||| macht [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| it makes [X,1] ||| das macht [X,1] ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes ||| das macht ||| -0.0 -0.0 0.60206001997 } @Test(dependsOnMethods={"setup"}) public void testRuleSet3() throws IOException { List<String> lines = extractRules("it makes him", false, false, false); Assert.assertEquals(lines.size(), 23-9); int n = 0; verifyLine(lines.get(n++), "[X]", "[X,1] him", "[X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him", "ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] him", "das [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] him", "es [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "das [X,1]"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "es [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1]", "das macht [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes him", "das macht ihn"); verifyLine(lines.get(n++), "[X]", "it makes", "das macht"); verifyLine(lines.get(n++), "[X]", "it", "das"); verifyLine(lines.get(n++), "[X]", "it", "es"); verifyLine(lines.get(n++), "[X]", "makes [X,1]", "macht [X,1]"); verifyLine(lines.get(n++), "[X]", "makes him", "macht ihn"); verifyLine(lines.get(n++), "[X]", "makes", "macht"); // From Hiero: // [X] ||| [X,1] him [X,2] ||| [X,1] ihn [X,2] ||| -0.0 -0.0 -0.0 // [X] ||| [X,1] him ||| [X,1] ihn ||| -0.0 -0.0 -0.0 // [X] ||| [X,1] it [X,2] him ||| [X,1] es [X,2] ihn ||| 0.176091253757 -0.0 0.124938733876 // [X] ||| [X,1] it [X,2] ||| [X,1] es [X,2] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| [X,1] it ||| [X,1] es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| him [X,1] ||| ihn [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| him ||| ihn ||| -0.0 -0.0 -0.0 // [X] ||| it [X,1] him [X,2] ||| das [X,1] ihn [X,2] ||| 0.477121263742 -0.0 0.60206001997 // [X] ||| it [X,1] him [X,2] ||| es [X,1] ihn [X,2] ||| 0.176091253757 -0.0 0.124938733876 // [X] ||| it [X,1] him ||| das [X,1] ihn ||| 0.477121263742 -0.0 0.60206001997 // [X] ||| it [X,1] him ||| es [X,1] ihn ||| 0.176091253757 -0.0 0.124938733876 // [X] ||| it [X,1] ||| das [X,1] ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it [X,1] ||| es [X,1] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it makes [X,1] ||| das macht [X,1] ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes him [X,1] ||| das macht ihn [X,1] ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes him ||| das macht ihn ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes ||| das macht ||| -0.0 -0.0 0.60206001997 // [X] ||| it ||| das ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it ||| es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| makes [X,1] ||| macht [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| makes him [X,1] ||| macht ihn [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| makes him ||| macht ihn ||| -0.0 -0.0 -0.0 // [X] ||| makes ||| macht ||| -0.0 -0.0 -0.0 } @Test(dependsOnMethods={"setup"}) public void testRuleSet3Expanded() throws IOException { List<String> lines = extractRules("it makes him", true, true, false); final int expectedLines = 23; Assert.assertEquals(lines.size(), expectedLines); int n = 0; verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2]", "[X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him", "[X,1] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] him", "[X,1] es [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2]", "[X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it", "[X,1] es"); verifyLine(lines.get(n++), "[X]", "him [X,1]", "ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "him", "ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] him [X,2]", "das [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] him [X,2]", "es [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] him", "das [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] him", "es [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "das [X,1]"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "es [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1]", "das macht [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes him [X,1]", "das macht ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes him", "das macht ihn"); verifyLine(lines.get(n++), "[X]", "it makes", "das macht"); verifyLine(lines.get(n++), "[X]", "it", "das"); verifyLine(lines.get(n++), "[X]", "it", "es"); verifyLine(lines.get(n++), "[X]", "makes [X,1]", "macht [X,1]"); verifyLine(lines.get(n++), "[X]", "makes him [X,1]", "macht ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "makes him", "macht ihn"); verifyLine(lines.get(n++), "[X]", "makes", "macht"); Assert.assertEquals(n, expectedLines); // From Hiero: // [X] ||| [X,1] him [X,2] ||| [X,1] ihn [X,2] ||| -0.0 -0.0 -0.0 // [X] ||| [X,1] him ||| [X,1] ihn ||| -0.0 -0.0 -0.0 // [X] ||| [X,1] it [X,2] him ||| [X,1] es [X,2] ihn ||| 0.176091253757 -0.0 0.124938733876 // [X] ||| [X,1] it [X,2] ||| [X,1] es [X,2] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| [X,1] it ||| [X,1] es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| him [X,1] ||| ihn [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| him ||| ihn ||| -0.0 -0.0 -0.0 // [X] ||| it [X,1] him [X,2] ||| das [X,1] ihn [X,2] ||| 0.477121263742 -0.0 0.60206001997 // [X] ||| it [X,1] him [X,2] ||| es [X,1] ihn [X,2] ||| 0.176091253757 -0.0 0.124938733876 // [X] ||| it [X,1] him ||| das [X,1] ihn ||| 0.477121263742 -0.0 0.60206001997 // [X] ||| it [X,1] him ||| es [X,1] ihn ||| 0.176091253757 -0.0 0.124938733876 // [X] ||| it [X,1] ||| das [X,1] ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it [X,1] ||| es [X,1] ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| it makes [X,1] ||| das macht [X,1] ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes him [X,1] ||| das macht ihn [X,1] ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes him ||| das macht ihn ||| -0.0 -0.0 0.60206001997 // [X] ||| it makes ||| das macht ||| -0.0 -0.0 0.60206001997 // [X] ||| it ||| das ||| 0.60206001997 -0.0 0.60206001997 // [X] ||| it ||| es ||| 0.124938733876 -0.0 0.124938733876 // [X] ||| makes [X,1] ||| macht [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| makes him [X,1] ||| macht ihn [X,1] ||| -0.0 -0.0 -0.0 // [X] ||| makes him ||| macht ihn ||| -0.0 -0.0 -0.0 // [X] ||| makes ||| macht ||| -0.0 -0.0 -0.0 } @Test(dependsOnMethods={"setup"}) public void testRuleSet18() throws IOException { extractFull(false, false, false, false); } @Test(dependsOnMethods={"setup"}) public void testRuleSet18Expanded() throws IOException { extractFull(true, true, true, true); } private void extractFull(boolean sentenceInitialX, boolean sentenceFinalX, boolean initialXViolates, boolean finalXViolates) throws IOException { List<String> lines = extractRules("it makes him and it mars him , it sets him on yet it takes him off .", sentenceInitialX, sentenceFinalX, initialXViolates); Assert.assertEquals(lines.size(), 922); int n = 0; verifyLine(lines.get(n++), "[X]", ", [X,1] him [X,2] him", ", [X,1] ihn [X,2] ihn"); verifyLine(lines.get(n++), "[X]", ", [X,1] him [X,2] it", ", [X,1] ihn [X,2] es"); verifyLine(lines.get(n++), "[X]", ", [X,1] him [X,2] off", ", [X,1] ihn [X,2] aus"); verifyLine(lines.get(n++), "[X]", ", [X,1] him [X,2] takes", ", [X,1] ihn [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", [X,1] him [X,2]", ", [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] him off", ", [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", ", [X,1] him on [X,2]", ", [X,1] ihn auf [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] him on yet", ", [X,1] ihn auf und"); verifyLine(lines.get(n++), "[X]", ", [X,1] him on", ", [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", ", [X,1] him", ", [X,1] ihn"); verifyLine(lines.get(n++), "[X]", ", [X,1] it [X,2] off", ", [X,1] es [X,2] aus"); verifyLine(lines.get(n++), "[X]", ", [X,1] it [X,2]", ", [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] it takes [X,2]", ", [X,1] es f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] it takes him", ", [X,1] es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", ", [X,1] it takes", ", [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", [X,1] it", ", [X,1] es"); verifyLine(lines.get(n++), "[X]", ", [X,1] off", ", [X,1] aus"); verifyLine(lines.get(n++), "[X]", ", [X,1] on [X,2] him", ", [X,1] auf [X,2] ihn"); verifyLine(lines.get(n++), "[X]", ", [X,1] on [X,2] off", ", [X,1] auf [X,2] aus"); verifyLine(lines.get(n++), "[X]", ", [X,1] on [X,2] takes", ", [X,1] auf [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", [X,1] on [X,2]", ", [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] on yet [X,2]", ", [X,1] auf und [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] on yet it", ", [X,1] auf und es"); verifyLine(lines.get(n++), "[X]", ", [X,1] on yet", ", [X,1] auf und"); verifyLine(lines.get(n++), "[X]", ", [X,1] on", ", [X,1] auf"); verifyLine(lines.get(n++), "[X]", ", [X,1] takes [X,2]", ", [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] takes him off", ", [X,1] f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", ", [X,1] takes him", ", [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", ", [X,1] takes", ", [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", [X,1] yet [X,2] him", ", [X,1] und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", ", [X,1] yet [X,2] off", ", [X,1] und [X,2] aus"); verifyLine(lines.get(n++), "[X]", ", [X,1] yet [X,2]", ", [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] yet it [X,2]", ", [X,1] und es [X,2]"); verifyLine(lines.get(n++), "[X]", ", [X,1] yet it takes", ", [X,1] und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", [X,1] yet it", ", [X,1] und es"); verifyLine(lines.get(n++), "[X]", ", [X,1] yet", ", [X,1] und"); verifyLine(lines.get(n++), "[X]", ", [X,1]", ", [X,1]"); verifyLine(lines.get(n++), "[X]", ", it [X,1] him off", ", es [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", ", it [X,1] him", ", es [X,1] ihn"); verifyLine(lines.get(n++), "[X]", ", it [X,1] it [X,2]", ", es [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", ", it [X,1] it takes", ", es [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", it [X,1] it", ", es [X,1] es"); verifyLine(lines.get(n++), "[X]", ", it [X,1] off", ", es [X,1] aus"); verifyLine(lines.get(n++), "[X]", ", it [X,1] on [X,2]", ", es [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", ", it [X,1] on yet", ", es [X,1] auf und"); verifyLine(lines.get(n++), "[X]", ", it [X,1] on", ", es [X,1] auf"); verifyLine(lines.get(n++), "[X]", ", it [X,1] takes [X,2]", ", es [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", ", it [X,1] takes him", ", es [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", ", it [X,1] takes", ", es [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", it [X,1] yet [X,2]", ", es [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", ", it [X,1] yet it", ", es [X,1] und es"); verifyLine(lines.get(n++), "[X]", ", it [X,1] yet", ", es [X,1] und"); verifyLine(lines.get(n++), "[X]", ", it [X,1]", ", es [X,1]"); verifyLine(lines.get(n++), "[X]", ", it sets [X,1] him", ", es setzt [X,1] ihn"); verifyLine(lines.get(n++), "[X]", ", it sets [X,1] it", ", es setzt [X,1] es"); verifyLine(lines.get(n++), "[X]", ", it sets [X,1] off", ", es setzt [X,1] aus"); verifyLine(lines.get(n++), "[X]", ", it sets [X,1] takes", ", es setzt [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", ", it sets [X,1] yet", ", es setzt [X,1] und"); verifyLine(lines.get(n++), "[X]", ", it sets [X,1]", ", es setzt [X,1]"); verifyLine(lines.get(n++), "[X]", ", it sets him [X,1]", ", es setzt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", ", it sets him on", ", es setzt ihn auf"); verifyLine(lines.get(n++), "[X]", ", it sets him", ", es setzt ihn"); verifyLine(lines.get(n++), "[X]", ", it sets", ", es setzt"); verifyLine(lines.get(n++), "[X]", ", it", ", es"); verifyLine(lines.get(n++), "[X]", ",", ","); verifyLine(lines.get(n++), "[X]", ".", "."); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] him on", "[X,1] , [X,2] ihn auf"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] him", "[X,1] , [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] it takes", "[X,1] , [X,2] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] it", "[X,1] , [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] on yet", "[X,1] , [X,2] auf und"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] on", "[X,1] , [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] takes", "[X,1] , [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] yet it", "[X,1] , [X,2] und es"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2] yet", "[X,1] , [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] , [X,2]", "[X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , it [X,2] it", "[X,1] , es [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] , it [X,2] on", "[X,1] , es [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] , it [X,2] takes", "[X,1] , es [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] , it [X,2] yet", "[X,1] , es [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] , it [X,2]", "[X,1] , es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , it sets [X,2]", "[X,1] , es setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] , it sets him", "[X,1] , es setzt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] , it sets", "[X,1] , es setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] , it", "[X,1] , es"); verifyLine(lines.get(n++), "[X]", "[X,1] ,", "[X,1] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] .", "[X,1] ."); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] , it", "[X,1] und [X,2] , es"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] ,", "[X,1] und [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] him ,", "[X,1] und [X,2] ihn ,"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] him", "[X,1] und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] it sets", "[X,1] und [X,2] es setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] it", "[X,1] und [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] sets him", "[X,1] und [X,2] setzt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2] sets", "[X,1] und [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] and [X,2]", "[X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] and it [X,2] ,", "[X,1] und es [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] and it [X,2] him", "[X,1] und es [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] and it [X,2] it", "[X,1] und es [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] and it [X,2] sets", "[X,1] und es [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] and it [X,2]", "[X,1] und es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] and it mars [X,2]", "[X,1] und es besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] and it mars him", "[X,1] und es besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] and it mars", "[X,1] und es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "[X,1] and it", "[X,1] und es"); verifyLine(lines.get(n++), "[X]", "[X,1] and", "[X,1] und"); verifyLine(lines.get(n++), "[X]", "[X,1] him , [X,2] him", "[X,1] ihn , [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] him , [X,2] it", "[X,1] ihn , [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] him , [X,2] on", "[X,1] ihn , [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] him , [X,2] yet", "[X,1] ihn , [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] him , [X,2]", "[X,1] ihn , [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him , it [X,2]", "[X,1] ihn , es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him , it sets", "[X,1] ihn , es setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] him , it", "[X,1] ihn , es"); verifyLine(lines.get(n++), "[X]", "[X,1] him ,", "[X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] , it", "[X,1] ihn [X,2] , es"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] ,", "[X,1] ihn [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] .", "[X,1] ihn [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] him ,", "[X,1] ihn [X,2] ihn ,"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] him off", "[X,1] ihn [X,2] ihn aus"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] him on", "[X,1] ihn [X,2] ihn auf"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] him", "[X,1] ihn [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] it sets", "[X,1] ihn [X,2] es setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] it takes", "[X,1] ihn [X,2] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] it", "[X,1] ihn [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] mars him", "[X,1] ihn [X,2] besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] mars", "[X,1] ihn [X,2] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] off .", "[X,1] ihn [X,2] aus ."); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] off", "[X,1] ihn [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] on yet", "[X,1] ihn [X,2] auf und"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] on", "[X,1] ihn [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] sets him", "[X,1] ihn [X,2] setzt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] sets", "[X,1] ihn [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] takes him", "[X,1] ihn [X,2] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] takes", "[X,1] ihn [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] yet it", "[X,1] ihn [X,2] und es"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2] yet", "[X,1] ihn [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] him [X,2]", "[X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him and [X,2] ,", "[X,1] ihn und [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] him and [X,2] him", "[X,1] ihn und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] him and [X,2] it", "[X,1] ihn und [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] him and [X,2] sets", "[X,1] ihn und [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] him and [X,2]", "[X,1] ihn und [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him and it [X,2]", "[X,1] ihn und es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him and it mars", "[X,1] ihn und es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "[X,1] him and it", "[X,1] ihn und es"); verifyLine(lines.get(n++), "[X]", "[X,1] him and", "[X,1] ihn und"); verifyLine(lines.get(n++), "[X]", "[X,1] him off .", "[X,1] ihn aus ."); verifyLine(lines.get(n++), "[X]", "[X,1] him off", "[X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "[X,1] him on [X,2] .", "[X,1] ihn auf [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] him on [X,2] him", "[X,1] ihn auf [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] him on [X,2] off", "[X,1] ihn auf [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] him on [X,2] takes", "[X,1] ihn auf [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] him on [X,2]", "[X,1] ihn auf [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him on yet [X,2]", "[X,1] ihn auf und [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] him on yet it", "[X,1] ihn auf und es"); verifyLine(lines.get(n++), "[X]", "[X,1] him on yet", "[X,1] ihn auf und"); verifyLine(lines.get(n++), "[X]", "[X,1] him on", "[X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "[X,1] him", "[X,1] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] , it", "[X,1] es [X,2] , es"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] ,", "[X,1] es [X,2] ,"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] .", "[X,1] es [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] him on", "[X,1] es [X,2] ihn auf"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] him", "[X,1] es [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] it sets", "[X,1] es [X,2] es setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] it takes", "[X,1] es [X,2] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] it", "[X,1] es [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] off .", "[X,1] es [X,2] aus ."); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] off", "[X,1] es [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] on yet", "[X,1] es [X,2] auf und"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] on", "[X,1] es [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] sets him", "[X,1] es [X,2] setzt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] sets", "[X,1] es [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] takes him", "[X,1] es [X,2] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] takes", "[X,1] es [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] yet it", "[X,1] es [X,2] und es"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2] yet", "[X,1] es [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] it [X,2]", "[X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars [X,2] him", "[X,1] es besch\u00E4digt [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars [X,2] it", "[X,1] es besch\u00E4digt [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars [X,2] on", "[X,1] es besch\u00E4digt [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars [X,2] sets", "[X,1] es besch\u00E4digt [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars [X,2]", "[X,1] es besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars him ,", "[X,1] es besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars him [X,2]", "[X,1] es besch\u00E4digt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars him", "[X,1] es besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it mars", "[X,1] es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets [X,2] him", "[X,1] es setzt [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets [X,2] it", "[X,1] es setzt [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets [X,2] takes", "[X,1] es setzt [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets [X,2] yet", "[X,1] es setzt [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets [X,2]", "[X,1] es setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets him [X,2]", "[X,1] es setzt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets him on", "[X,1] es setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets him", "[X,1] es setzt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it sets", "[X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] it takes [X,2] .", "[X,1] es f\u00FChrt [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] it takes [X,2]", "[X,1] es f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it takes him [X,2]", "[X,1] es f\u00FChrt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] it takes him off", "[X,1] es f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "[X,1] it takes him", "[X,1] es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] it takes", "[X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] it", "[X,1] es"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] him on", "[X,1] besch\u00E4digt [X,2] ihn auf"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] him", "[X,1] besch\u00E4digt [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] it sets", "[X,1] besch\u00E4digt [X,2] es setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] it", "[X,1] besch\u00E4digt [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] on yet", "[X,1] besch\u00E4digt [X,2] auf und"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] on", "[X,1] besch\u00E4digt [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] sets him", "[X,1] besch\u00E4digt [X,2] setzt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] sets", "[X,1] besch\u00E4digt [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2] yet", "[X,1] besch\u00E4digt [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] mars [X,2]", "[X,1] besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him , [X,2]", "[X,1] besch\u00E4digt ihn , [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him , it", "[X,1] besch\u00E4digt ihn , es"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him ,", "[X,1] besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him [X,2] him", "[X,1] besch\u00E4digt ihn [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him [X,2] on", "[X,1] besch\u00E4digt ihn [X,2] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him [X,2] sets", "[X,1] besch\u00E4digt ihn [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him [X,2] yet", "[X,1] besch\u00E4digt ihn [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him [X,2]", "[X,1] besch\u00E4digt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] mars him", "[X,1] besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] mars", "[X,1] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "[X,1] off .", "[X,1] aus ."); verifyLine(lines.get(n++), "[X]", "[X,1] off", "[X,1] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2] .", "[X,1] auf [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2] him off", "[X,1] auf [X,2] ihn aus"); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2] him", "[X,1] auf [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2] off .", "[X,1] auf [X,2] aus ."); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2] off", "[X,1] auf [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2] takes him", "[X,1] auf [X,2] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2] takes", "[X,1] auf [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] on [X,2]", "[X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] on yet [X,2] .", "[X,1] auf und [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] on yet [X,2] him", "[X,1] auf und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] on yet [X,2] off", "[X,1] auf und [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] on yet [X,2]", "[X,1] auf und [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] on yet it [X,2]", "[X,1] auf und es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] on yet it takes", "[X,1] auf und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] on yet it", "[X,1] auf und es"); verifyLine(lines.get(n++), "[X]", "[X,1] on yet", "[X,1] auf und"); verifyLine(lines.get(n++), "[X]", "[X,1] on", "[X,1] auf"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] him off", "[X,1] setzt [X,2] ihn aus"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] him", "[X,1] setzt [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] it takes", "[X,1] setzt [X,2] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] it", "[X,1] setzt [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] off", "[X,1] setzt [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] takes him", "[X,1] setzt [X,2] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] takes", "[X,1] setzt [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] yet it", "[X,1] setzt [X,2] und es"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2] yet", "[X,1] setzt [X,2] und"); verifyLine(lines.get(n++), "[X]", "[X,1] sets [X,2]", "[X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him [X,2] him", "[X,1] setzt ihn [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him [X,2] it", "[X,1] setzt ihn [X,2] es"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him [X,2] off", "[X,1] setzt ihn [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him [X,2] takes", "[X,1] setzt ihn [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him [X,2]", "[X,1] setzt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him on [X,2]", "[X,1] setzt ihn auf [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him on yet", "[X,1] setzt ihn auf und"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him on", "[X,1] setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "[X,1] sets him", "[X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] sets", "[X,1] setzt"); verifyLine(lines.get(n++), "[X]", "[X,1] takes [X,2] .", "[X,1] f\u00FChrt [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] takes [X,2]", "[X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] takes him [X,2]", "[X,1] f\u00FChrt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] takes him off .", "[X,1] f\u00FChrt ihn aus ."); verifyLine(lines.get(n++), "[X]", "[X,1] takes him off", "[X,1] f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "[X,1] takes him", "[X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] takes", "[X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] yet [X,2] .", "[X,1] und [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] yet [X,2] him off", "[X,1] und [X,2] ihn aus"); verifyLine(lines.get(n++), "[X]", "[X,1] yet [X,2] him", "[X,1] und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] yet [X,2] off .", "[X,1] und [X,2] aus ."); verifyLine(lines.get(n++), "[X]", "[X,1] yet [X,2] off", "[X,1] und [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] yet [X,2]", "[X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] yet it [X,2] .", "[X,1] und es [X,2] ."); verifyLine(lines.get(n++), "[X]", "[X,1] yet it [X,2] off", "[X,1] und es [X,2] aus"); verifyLine(lines.get(n++), "[X]", "[X,1] yet it [X,2]", "[X,1] und es [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] yet it takes [X,2]", "[X,1] und es f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "[X,1] yet it takes him", "[X,1] und es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "[X,1] yet it takes", "[X,1] und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "[X,1] yet it", "[X,1] und es"); verifyLine(lines.get(n++), "[X]", "[X,1] yet", "[X,1] und"); verifyLine(lines.get(n++), "[X]", "and [X,1] , [X,2] him", "und [X,1] , [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "and [X,1] , [X,2] on", "und [X,1] , [X,2] auf"); verifyLine(lines.get(n++), "[X]", "and [X,1] , [X,2] yet", "und [X,1] , [X,2] und"); verifyLine(lines.get(n++), "[X]", "and [X,1] , [X,2]", "und [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] , it [X,2]", "und [X,1] , es [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] , it sets", "und [X,1] , es setzt"); verifyLine(lines.get(n++), "[X]", "and [X,1] , it", "und [X,1] , es"); verifyLine(lines.get(n++), "[X]", "and [X,1] ,", "und [X,1] ,"); verifyLine(lines.get(n++), "[X]", "and [X,1] him , [X,2]", "und [X,1] ihn , [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] him , it", "und [X,1] ihn , es"); verifyLine(lines.get(n++), "[X]", "and [X,1] him ,", "und [X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "and [X,1] him [X,2] him", "und [X,1] ihn [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "and [X,1] him [X,2] on", "und [X,1] ihn [X,2] auf"); verifyLine(lines.get(n++), "[X]", "and [X,1] him [X,2] sets", "und [X,1] ihn [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "and [X,1] him [X,2] yet", "und [X,1] ihn [X,2] und"); verifyLine(lines.get(n++), "[X]", "and [X,1] him [X,2]", "und [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] him on yet", "und [X,1] ihn auf und"); verifyLine(lines.get(n++), "[X]", "and [X,1] him on", "und [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "and [X,1] him", "und [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "and [X,1] it [X,2] on", "und [X,1] es [X,2] auf"); verifyLine(lines.get(n++), "[X]", "and [X,1] it [X,2] yet", "und [X,1] es [X,2] und"); verifyLine(lines.get(n++), "[X]", "and [X,1] it [X,2]", "und [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] it sets [X,2]", "und [X,1] es setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] it sets him", "und [X,1] es setzt ihn"); verifyLine(lines.get(n++), "[X]", "and [X,1] it sets", "und [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "and [X,1] it", "und [X,1] es"); verifyLine(lines.get(n++), "[X]", "and [X,1] on yet", "und [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "and [X,1] on", "und [X,1] auf"); verifyLine(lines.get(n++), "[X]", "and [X,1] sets [X,2] yet", "und [X,1] setzt [X,2] und"); verifyLine(lines.get(n++), "[X]", "and [X,1] sets [X,2]", "und [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] sets him [X,2]", "und [X,1] setzt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "and [X,1] sets him on", "und [X,1] setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "and [X,1] sets him", "und [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "and [X,1] sets", "und [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "and [X,1] yet", "und [X,1] und"); verifyLine(lines.get(n++), "[X]", "and [X,1]", "und [X,1]"); verifyLine(lines.get(n++), "[X]", "and it [X,1] , [X,2]", "und es [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "and it [X,1] , it", "und es [X,1] , es"); verifyLine(lines.get(n++), "[X]", "and it [X,1] ,", "und es [X,1] ,"); verifyLine(lines.get(n++), "[X]", "and it [X,1] him [X,2]", "und es [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "and it [X,1] him on", "und es [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "and it [X,1] him", "und es [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "and it [X,1] it [X,2]", "und es [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "and it [X,1] it sets", "und es [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "and it [X,1] it", "und es [X,1] es"); verifyLine(lines.get(n++), "[X]", "and it [X,1] on yet", "und es [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "and it [X,1] on", "und es [X,1] auf"); verifyLine(lines.get(n++), "[X]", "and it [X,1] sets [X,2]", "und es [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "and it [X,1] sets him", "und es [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "and it [X,1] sets", "und es [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "and it [X,1] yet", "und es [X,1] und"); verifyLine(lines.get(n++), "[X]", "and it [X,1]", "und es [X,1]"); verifyLine(lines.get(n++), "[X]", "and it mars [X,1] him", "und es besch\u00E4digt [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "and it mars [X,1] it", "und es besch\u00E4digt [X,1] es"); verifyLine(lines.get(n++), "[X]", "and it mars [X,1] on", "und es besch\u00E4digt [X,1] auf"); verifyLine(lines.get(n++), "[X]", "and it mars [X,1] sets", "und es besch\u00E4digt [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "and it mars [X,1] yet", "und es besch\u00E4digt [X,1] und"); verifyLine(lines.get(n++), "[X]", "and it mars [X,1]", "und es besch\u00E4digt [X,1]"); verifyLine(lines.get(n++), "[X]", "and it mars him ,", "und es besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "and it mars him [X,1]", "und es besch\u00E4digt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "and it mars him", "und es besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "and it mars", "und es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "and it", "und es"); verifyLine(lines.get(n++), "[X]", "and", "und"); verifyLine(lines.get(n++), "[X]", "him , [X,1] him [X,2]", "ihn , [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "him , [X,1] him on", "ihn , [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "him , [X,1] him", "ihn , [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him , [X,1] it [X,2]", "ihn , [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "him , [X,1] it takes", "ihn , [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him , [X,1] it", "ihn , [X,1] es"); verifyLine(lines.get(n++), "[X]", "him , [X,1] on [X,2]", "ihn , [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", "him , [X,1] on yet", "ihn , [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "him , [X,1] on", "ihn , [X,1] auf"); verifyLine(lines.get(n++), "[X]", "him , [X,1] takes him", "ihn , [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "him , [X,1] takes", "ihn , [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him , [X,1] yet [X,2]", "ihn , [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "him , [X,1] yet it", "ihn , [X,1] und es"); verifyLine(lines.get(n++), "[X]", "him , [X,1] yet", "ihn , [X,1] und"); verifyLine(lines.get(n++), "[X]", "him , [X,1]", "ihn , [X,1]"); verifyLine(lines.get(n++), "[X]", "him , it [X,1] him", "ihn , es [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him , it [X,1] it", "ihn , es [X,1] es"); verifyLine(lines.get(n++), "[X]", "him , it [X,1] on", "ihn , es [X,1] auf"); verifyLine(lines.get(n++), "[X]", "him , it [X,1] takes", "ihn , es [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him , it [X,1] yet", "ihn , es [X,1] und"); verifyLine(lines.get(n++), "[X]", "him , it [X,1]", "ihn , es [X,1]"); verifyLine(lines.get(n++), "[X]", "him , it sets [X,1]", "ihn , es setzt [X,1]"); verifyLine(lines.get(n++), "[X]", "him , it sets him", "ihn , es setzt ihn"); verifyLine(lines.get(n++), "[X]", "him , it sets", "ihn , es setzt"); verifyLine(lines.get(n++), "[X]", "him , it", "ihn , es"); verifyLine(lines.get(n++), "[X]", "him ,", "ihn ,"); verifyLine(lines.get(n++), "[X]", "him [X,1] , [X,2] him", "ihn [X,1] , [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] , [X,2] on", "ihn [X,1] , [X,2] auf"); verifyLine(lines.get(n++), "[X]", "him [X,1] , [X,2]", "ihn [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] , it [X,2]", "ihn [X,1] , es [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] , it sets", "ihn [X,1] , es setzt"); verifyLine(lines.get(n++), "[X]", "him [X,1] , it", "ihn [X,1] , es"); verifyLine(lines.get(n++), "[X]", "him [X,1] ,", "ihn [X,1] ,"); verifyLine(lines.get(n++), "[X]", "him [X,1] .", "ihn [X,1] ."); verifyLine(lines.get(n++), "[X]", "him [X,1] him , [X,2]", "ihn [X,1] ihn , [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] him , it", "ihn [X,1] ihn , es"); verifyLine(lines.get(n++), "[X]", "him [X,1] him ,", "ihn [X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "him [X,1] him [X,2] him", "ihn [X,1] ihn [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] him [X,2] it", "ihn [X,1] ihn [X,2] es"); verifyLine(lines.get(n++), "[X]", "him [X,1] him [X,2] on", "ihn [X,1] ihn [X,2] auf"); verifyLine(lines.get(n++), "[X]", "him [X,1] him [X,2] sets", "ihn [X,1] ihn [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "him [X,1] him [X,2] takes", "ihn [X,1] ihn [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him [X,1] him [X,2]", "ihn [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] him off .", "ihn [X,1] ihn aus ."); verifyLine(lines.get(n++), "[X]", "him [X,1] him off", "ihn [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "him [X,1] him on [X,2]", "ihn [X,1] ihn auf [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] him on yet", "ihn [X,1] ihn auf und"); verifyLine(lines.get(n++), "[X]", "him [X,1] him on", "ihn [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "him [X,1] him", "ihn [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] it [X,2] .", "ihn [X,1] es [X,2] ."); verifyLine(lines.get(n++), "[X]", "him [X,1] it [X,2] off", "ihn [X,1] es [X,2] aus"); verifyLine(lines.get(n++), "[X]", "him [X,1] it [X,2] on", "ihn [X,1] es [X,2] auf"); verifyLine(lines.get(n++), "[X]", "him [X,1] it [X,2]", "ihn [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] it sets [X,2]", "ihn [X,1] es setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] it sets him", "ihn [X,1] es setzt ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] it sets", "ihn [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "him [X,1] it takes [X,2]", "ihn [X,1] es f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] it takes him", "ihn [X,1] es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] it takes", "ihn [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him [X,1] it", "ihn [X,1] es"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars [X,2] him", "ihn [X,1] besch\u00E4digt [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars [X,2] it", "ihn [X,1] besch\u00E4digt [X,2] es"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars [X,2] on", "ihn [X,1] besch\u00E4digt [X,2] auf"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars [X,2] sets", "ihn [X,1] besch\u00E4digt [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars [X,2]", "ihn [X,1] besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars him ,", "ihn [X,1] besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars him [X,2]", "ihn [X,1] besch\u00E4digt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars him", "ihn [X,1] besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] mars", "ihn [X,1] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "him [X,1] off .", "ihn [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "him [X,1] off", "ihn [X,1] aus"); verifyLine(lines.get(n++), "[X]", "him [X,1] on [X,2] him", "ihn [X,1] auf [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] on [X,2] takes", "ihn [X,1] auf [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him [X,1] on [X,2]", "ihn [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] on yet [X,2]", "ihn [X,1] auf und [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] on yet it", "ihn [X,1] auf und es"); verifyLine(lines.get(n++), "[X]", "him [X,1] on yet", "ihn [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "him [X,1] on", "ihn [X,1] auf"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets [X,2] him", "ihn [X,1] setzt [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets [X,2] it", "ihn [X,1] setzt [X,2] es"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets [X,2] takes", "ihn [X,1] setzt [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets [X,2] yet", "ihn [X,1] setzt [X,2] und"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets [X,2]", "ihn [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets him [X,2]", "ihn [X,1] setzt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets him on", "ihn [X,1] setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets him", "ihn [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] sets", "ihn [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "him [X,1] takes [X,2] .", "ihn [X,1] f\u00FChrt [X,2] ."); verifyLine(lines.get(n++), "[X]", "him [X,1] takes [X,2]", "ihn [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] takes him [X,2]", "ihn [X,1] f\u00FChrt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] takes him off", "ihn [X,1] f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "him [X,1] takes him", "ihn [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] takes", "ihn [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him [X,1] yet [X,2] him", "ihn [X,1] und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "him [X,1] yet [X,2]", "ihn [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] yet it [X,2]", "ihn [X,1] und es [X,2]"); verifyLine(lines.get(n++), "[X]", "him [X,1] yet it takes", "ihn [X,1] und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him [X,1] yet it", "ihn [X,1] und es"); verifyLine(lines.get(n++), "[X]", "him [X,1] yet", "ihn [X,1] und"); verifyLine(lines.get(n++), "[X]", "him [X,1]", "ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "him and [X,1] , [X,2]", "ihn und [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "him and [X,1] , it", "ihn und [X,1] , es"); verifyLine(lines.get(n++), "[X]", "him and [X,1] ,", "ihn und [X,1] ,"); verifyLine(lines.get(n++), "[X]", "him and [X,1] him ,", "ihn und [X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "him and [X,1] him [X,2]", "ihn und [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "him and [X,1] him on", "ihn und [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "him and [X,1] him", "ihn und [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him and [X,1] it [X,2]", "ihn und [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "him and [X,1] it sets", "ihn und [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "him and [X,1] it", "ihn und [X,1] es"); verifyLine(lines.get(n++), "[X]", "him and [X,1] on", "ihn und [X,1] auf"); verifyLine(lines.get(n++), "[X]", "him and [X,1] sets [X,2]", "ihn und [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "him and [X,1] sets him", "ihn und [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "him and [X,1] sets", "ihn und [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "him and [X,1]", "ihn und [X,1]"); verifyLine(lines.get(n++), "[X]", "him and it [X,1] ,", "ihn und es [X,1] ,"); verifyLine(lines.get(n++), "[X]", "him and it [X,1] him", "ihn und es [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him and it [X,1] it", "ihn und es [X,1] es"); verifyLine(lines.get(n++), "[X]", "him and it [X,1] on", "ihn und es [X,1] auf"); verifyLine(lines.get(n++), "[X]", "him and it [X,1] sets", "ihn und es [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "him and it [X,1]", "ihn und es [X,1]"); verifyLine(lines.get(n++), "[X]", "him and it mars [X,1]", "ihn und es besch\u00E4digt [X,1]"); verifyLine(lines.get(n++), "[X]", "him and it mars him", "ihn und es besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "him and it mars", "ihn und es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "him and it", "ihn und es"); verifyLine(lines.get(n++), "[X]", "him and", "ihn und"); verifyLine(lines.get(n++), "[X]", "him off .", "ihn aus ."); verifyLine(lines.get(n++), "[X]", "him off", "ihn aus"); verifyLine(lines.get(n++), "[X]", "him on [X,1] .", "ihn auf [X,1] ."); verifyLine(lines.get(n++), "[X]", "him on [X,1] him [X,2]", "ihn auf [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "him on [X,1] him off", "ihn auf [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "him on [X,1] him", "ihn auf [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him on [X,1] off .", "ihn auf [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "him on [X,1] off", "ihn auf [X,1] aus"); verifyLine(lines.get(n++), "[X]", "him on [X,1] takes [X,2]", "ihn auf [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "him on [X,1] takes him", "ihn auf [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "him on [X,1] takes", "ihn auf [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him on [X,1]", "ihn auf [X,1]"); verifyLine(lines.get(n++), "[X]", "him on yet [X,1] .", "ihn auf und [X,1] ."); verifyLine(lines.get(n++), "[X]", "him on yet [X,1] him", "ihn auf und [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "him on yet [X,1] off", "ihn auf und [X,1] aus"); verifyLine(lines.get(n++), "[X]", "him on yet [X,1]", "ihn auf und [X,1]"); verifyLine(lines.get(n++), "[X]", "him on yet it [X,1]", "ihn auf und es [X,1]"); verifyLine(lines.get(n++), "[X]", "him on yet it takes", "ihn auf und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "him on yet it", "ihn auf und es"); verifyLine(lines.get(n++), "[X]", "him on yet", "ihn auf und"); verifyLine(lines.get(n++), "[X]", "him on", "ihn auf"); verifyLine(lines.get(n++), "[X]", "him", "ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] , [X,2] him", "es [X,1] , [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] , [X,2] it", "es [X,1] , [X,2] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] , [X,2] on", "es [X,1] , [X,2] auf"); verifyLine(lines.get(n++), "[X]", "it [X,1] , [X,2] yet", "es [X,1] , [X,2] und"); verifyLine(lines.get(n++), "[X]", "it [X,1] , [X,2]", "das [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] , [X,2]", "es [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] , it [X,2]", "es [X,1] , es [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] , it sets", "das [X,1] , es setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] , it sets", "es [X,1] , es setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] , it", "das [X,1] , es"); verifyLine(lines.get(n++), "[X]", "it [X,1] , it", "es [X,1] , es"); verifyLine(lines.get(n++), "[X]", "it [X,1] ,", "das [X,1] ,"); verifyLine(lines.get(n++), "[X]", "it [X,1] ,", "es [X,1] ,"); verifyLine(lines.get(n++), "[X]", "it [X,1] .", "es [X,1] ."); verifyLine(lines.get(n++), "[X]", "it [X,1] and [X,2] ,", "das [X,1] und [X,2] ,"); verifyLine(lines.get(n++), "[X]", "it [X,1] and [X,2] him", "das [X,1] und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] and [X,2] it", "das [X,1] und [X,2] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] and [X,2] sets", "das [X,1] und [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] and [X,2]", "das [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] and it [X,2]", "das [X,1] und es [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] and it mars", "das [X,1] und es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "it [X,1] and it", "das [X,1] und es"); verifyLine(lines.get(n++), "[X]", "it [X,1] and", "das [X,1] und"); verifyLine(lines.get(n++), "[X]", "it [X,1] him , [X,2]", "das [X,1] ihn , [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] him , it", "das [X,1] ihn , es"); verifyLine(lines.get(n++), "[X]", "it [X,1] him ,", "das [X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "it [X,1] him [X,2] it", "es [X,1] ihn [X,2] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] him [X,2] sets", "das [X,1] ihn [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] him [X,2]", "das [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] him [X,2]", "es [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] him off .", "es [X,1] ihn aus ."); verifyLine(lines.get(n++), "[X]", "it [X,1] him off", "es [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "it [X,1] him on [X,2]", "es [X,1] ihn auf [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] him on yet", "es [X,1] ihn auf und"); verifyLine(lines.get(n++), "[X]", "it [X,1] him on", "es [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "it [X,1] him", "das [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] him", "es [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] ,", "das [X,1] es [X,2] ,"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] .", "es [X,1] es [X,2] ."); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] it", "das [X,1] es [X,2] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] it", "es [X,1] es [X,2] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] off", "es [X,1] es [X,2] aus"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] on", "es [X,1] es [X,2] auf"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] sets", "das [X,1] es [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2] yet", "es [X,1] es [X,2] und"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2]", "das [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] it [X,2]", "es [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] it mars [X,2]", "das [X,1] es besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] it mars him", "das [X,1] es besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] it mars", "das [X,1] es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "it [X,1] it sets [X,2]", "es [X,1] es setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] it sets him", "es [X,1] es setzt ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] it sets", "das [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] it sets", "es [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] it takes [X,2]", "es [X,1] es f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] it takes him", "es [X,1] es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] it takes", "es [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it [X,1] it", "das [X,1] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] it", "es [X,1] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] mars [X,2] it", "das [X,1] besch\u00E4digt [X,2] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] mars [X,2] sets", "das [X,1] besch\u00E4digt [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] mars [X,2]", "das [X,1] besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] mars him ,", "das [X,1] besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "it [X,1] mars him [X,2]", "das [X,1] besch\u00E4digt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] mars him", "das [X,1] besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] mars", "das [X,1] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "it [X,1] off .", "es [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "it [X,1] off", "es [X,1] aus"); verifyLine(lines.get(n++), "[X]", "it [X,1] on [X,2] .", "es [X,1] auf [X,2] ."); verifyLine(lines.get(n++), "[X]", "it [X,1] on [X,2] him", "es [X,1] auf [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] on [X,2] off", "es [X,1] auf [X,2] aus"); verifyLine(lines.get(n++), "[X]", "it [X,1] on [X,2] takes", "es [X,1] auf [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it [X,1] on [X,2]", "es [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] on yet [X,2]", "es [X,1] auf und [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] on yet it", "es [X,1] auf und es"); verifyLine(lines.get(n++), "[X]", "it [X,1] on yet", "es [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "it [X,1] on", "es [X,1] auf"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets [X,2] it", "es [X,1] setzt [X,2] es"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets [X,2] yet", "es [X,1] setzt [X,2] und"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets [X,2]", "es [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets him [X,2]", "es [X,1] setzt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets him on", "es [X,1] setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets him", "es [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets", "das [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] sets", "es [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "it [X,1] takes [X,2] .", "es [X,1] f\u00FChrt [X,2] ."); verifyLine(lines.get(n++), "[X]", "it [X,1] takes [X,2]", "es [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] takes him [X,2]", "es [X,1] f\u00FChrt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] takes him off", "es [X,1] f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "it [X,1] takes him", "es [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] takes", "es [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it [X,1] yet [X,2] .", "es [X,1] und [X,2] ."); verifyLine(lines.get(n++), "[X]", "it [X,1] yet [X,2] him", "es [X,1] und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "it [X,1] yet [X,2] off", "es [X,1] und [X,2] aus"); verifyLine(lines.get(n++), "[X]", "it [X,1] yet [X,2]", "es [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] yet it [X,2]", "es [X,1] und es [X,2]"); verifyLine(lines.get(n++), "[X]", "it [X,1] yet it takes", "es [X,1] und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it [X,1] yet it", "es [X,1] und es"); verifyLine(lines.get(n++), "[X]", "it [X,1] yet", "es [X,1] und"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "das [X,1]"); verifyLine(lines.get(n++), "[X]", "it [X,1]", "es [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] , [X,2]", "das macht [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] , it", "das macht [X,1] , es"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] ,", "das macht [X,1] ,"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] him ,", "das macht [X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] him [X,2]", "das macht [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] him", "das macht [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] it [X,2]", "das macht [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] it mars", "das macht [X,1] es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] it sets", "das macht [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] it", "das macht [X,1] es"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] mars [X,2]", "das macht [X,1] besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] mars him", "das macht [X,1] besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] mars", "das macht [X,1] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "it makes [X,1] sets", "das macht [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "it makes [X,1]", "das macht [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes him [X,1] ,", "das macht ihn [X,1] ,"); verifyLine(lines.get(n++), "[X]", "it makes him [X,1] him", "das macht ihn [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it makes him [X,1] it", "das macht ihn [X,1] es"); verifyLine(lines.get(n++), "[X]", "it makes him [X,1] mars", "das macht ihn [X,1] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "it makes him [X,1] sets", "das macht ihn [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "it makes him [X,1]", "das macht ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes him and [X,1]", "das macht ihn und [X,1]"); verifyLine(lines.get(n++), "[X]", "it makes him and it", "das macht ihn und es"); verifyLine(lines.get(n++), "[X]", "it makes him and", "das macht ihn und"); verifyLine(lines.get(n++), "[X]", "it makes him", "das macht ihn"); verifyLine(lines.get(n++), "[X]", "it makes", "das macht"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] him [X,2]", "es besch\u00E4digt [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] him on", "es besch\u00E4digt [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] him", "es besch\u00E4digt [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] it [X,2]", "es besch\u00E4digt [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] it sets", "es besch\u00E4digt [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] it", "es besch\u00E4digt [X,1] es"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] on [X,2]", "es besch\u00E4digt [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] on yet", "es besch\u00E4digt [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] on", "es besch\u00E4digt [X,1] auf"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] sets [X,2]", "es besch\u00E4digt [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] sets him", "es besch\u00E4digt [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] sets", "es besch\u00E4digt [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] yet it", "es besch\u00E4digt [X,1] und es"); verifyLine(lines.get(n++), "[X]", "it mars [X,1] yet", "es besch\u00E4digt [X,1] und"); verifyLine(lines.get(n++), "[X]", "it mars [X,1]", "es besch\u00E4digt [X,1]"); verifyLine(lines.get(n++), "[X]", "it mars him , [X,1]", "es besch\u00E4digt ihn , [X,1]"); verifyLine(lines.get(n++), "[X]", "it mars him , it", "es besch\u00E4digt ihn , es"); verifyLine(lines.get(n++), "[X]", "it mars him ,", "es besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "it mars him [X,1] him", "es besch\u00E4digt ihn [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it mars him [X,1] it", "es besch\u00E4digt ihn [X,1] es"); verifyLine(lines.get(n++), "[X]", "it mars him [X,1] on", "es besch\u00E4digt ihn [X,1] auf"); verifyLine(lines.get(n++), "[X]", "it mars him [X,1] sets", "es besch\u00E4digt ihn [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "it mars him [X,1] yet", "es besch\u00E4digt ihn [X,1] und"); verifyLine(lines.get(n++), "[X]", "it mars him [X,1]", "es besch\u00E4digt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "it mars him", "es besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "it mars", "es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] .", "es setzt [X,1] ."); verifyLine(lines.get(n++), "[X]", "it sets [X,1] him [X,2]", "es setzt [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] him off", "es setzt [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] him", "es setzt [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] it [X,2]", "es setzt [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] it takes", "es setzt [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] it", "es setzt [X,1] es"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] off .", "es setzt [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "it sets [X,1] off", "es setzt [X,1] aus"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] takes [X,2]", "es setzt [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] takes him", "es setzt [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] takes", "es setzt [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] yet [X,2]", "es setzt [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] yet it", "es setzt [X,1] und es"); verifyLine(lines.get(n++), "[X]", "it sets [X,1] yet", "es setzt [X,1] und"); verifyLine(lines.get(n++), "[X]", "it sets [X,1]", "es setzt [X,1]"); verifyLine(lines.get(n++), "[X]", "it sets him [X,1] .", "es setzt ihn [X,1] ."); verifyLine(lines.get(n++), "[X]", "it sets him [X,1] him", "es setzt ihn [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "it sets him [X,1] it", "es setzt ihn [X,1] es"); verifyLine(lines.get(n++), "[X]", "it sets him [X,1] off", "es setzt ihn [X,1] aus"); verifyLine(lines.get(n++), "[X]", "it sets him [X,1] takes", "es setzt ihn [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it sets him [X,1]", "es setzt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "it sets him on [X,1]", "es setzt ihn auf [X,1]"); verifyLine(lines.get(n++), "[X]", "it sets him on yet", "es setzt ihn auf und"); verifyLine(lines.get(n++), "[X]", "it sets him on", "es setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "it sets him", "es setzt ihn"); verifyLine(lines.get(n++), "[X]", "it sets", "es setzt"); verifyLine(lines.get(n++), "[X]", "it takes [X,1] .", "es f\u00FChrt [X,1] ."); verifyLine(lines.get(n++), "[X]", "it takes [X,1]", "es f\u00FChrt [X,1]"); verifyLine(lines.get(n++), "[X]", "it takes him [X,1]", "es f\u00FChrt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "it takes him off .", "es f\u00FChrt ihn aus ."); verifyLine(lines.get(n++), "[X]", "it takes him off", "es f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "it takes him", "es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "it takes", "es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "it", "das"); verifyLine(lines.get(n++), "[X]", "it", "es"); verifyLine(lines.get(n++), "[X]", "makes [X,1] , [X,2] him", "macht [X,1] , [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] , [X,2]", "macht [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] , it [X,2]", "macht [X,1] , es [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] , it sets", "macht [X,1] , es setzt"); verifyLine(lines.get(n++), "[X]", "makes [X,1] , it", "macht [X,1] , es"); verifyLine(lines.get(n++), "[X]", "makes [X,1] ,", "macht [X,1] ,"); verifyLine(lines.get(n++), "[X]", "makes [X,1] him , [X,2]", "macht [X,1] ihn , [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] him , it", "macht [X,1] ihn , es"); verifyLine(lines.get(n++), "[X]", "makes [X,1] him ,", "macht [X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "makes [X,1] him [X,2] him", "macht [X,1] ihn [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] him [X,2] sets", "macht [X,1] ihn [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "makes [X,1] him [X,2]", "macht [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] him", "macht [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it [X,2] ,", "macht [X,1] es [X,2] ,"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it [X,2] him", "macht [X,1] es [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it [X,2] it", "macht [X,1] es [X,2] es"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it [X,2] sets", "macht [X,1] es [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it [X,2]", "macht [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it mars [X,2]", "macht [X,1] es besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it mars him", "macht [X,1] es besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it mars", "macht [X,1] es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it sets him", "macht [X,1] es setzt ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it sets", "macht [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "makes [X,1] it", "macht [X,1] es"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars [X,2] him", "macht [X,1] besch\u00E4digt [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars [X,2] it", "macht [X,1] besch\u00E4digt [X,2] es"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars [X,2] sets", "macht [X,1] besch\u00E4digt [X,2] setzt"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars [X,2]", "macht [X,1] besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars him ,", "macht [X,1] besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars him [X,2]", "macht [X,1] besch\u00E4digt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars him", "macht [X,1] besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] mars", "macht [X,1] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "makes [X,1] sets him", "macht [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "makes [X,1] sets", "macht [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "makes [X,1]", "macht [X,1]"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] , [X,2]", "macht ihn [X,1] , [X,2]"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] , it", "macht ihn [X,1] , es"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] ,", "macht ihn [X,1] ,"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] him ,", "macht ihn [X,1] ihn ,"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] him [X,2]", "macht ihn [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] him", "macht ihn [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] it [X,2]", "macht ihn [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] it sets", "macht ihn [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] it", "macht ihn [X,1] es"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] mars [X,2]", "macht ihn [X,1] besch\u00E4digt [X,2]"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] mars him", "macht ihn [X,1] besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] mars", "macht ihn [X,1] besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] sets him", "macht ihn [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "makes him [X,1] sets", "macht ihn [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "makes him [X,1]", "macht ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "makes him and [X,1] ,", "macht ihn und [X,1] ,"); verifyLine(lines.get(n++), "[X]", "makes him and [X,1] him", "macht ihn und [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "makes him and [X,1] it", "macht ihn und [X,1] es"); verifyLine(lines.get(n++), "[X]", "makes him and [X,1] sets", "macht ihn und [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "makes him and [X,1]", "macht ihn und [X,1]"); verifyLine(lines.get(n++), "[X]", "makes him and it [X,1]", "macht ihn und es [X,1]"); verifyLine(lines.get(n++), "[X]", "makes him and it mars", "macht ihn und es besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "makes him and it", "macht ihn und es"); verifyLine(lines.get(n++), "[X]", "makes him and", "macht ihn und"); verifyLine(lines.get(n++), "[X]", "makes him", "macht ihn"); verifyLine(lines.get(n++), "[X]", "makes", "macht"); verifyLine(lines.get(n++), "[X]", "mars [X,1] him [X,2] it", "besch\u00E4digt [X,1] ihn [X,2] es"); verifyLine(lines.get(n++), "[X]", "mars [X,1] him [X,2] takes", "besch\u00E4digt [X,1] ihn [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] him [X,2]", "besch\u00E4digt [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] him on [X,2]", "besch\u00E4digt [X,1] ihn auf [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] him on yet", "besch\u00E4digt [X,1] ihn auf und"); verifyLine(lines.get(n++), "[X]", "mars [X,1] him on", "besch\u00E4digt [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "mars [X,1] him", "besch\u00E4digt [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it [X,2] it", "besch\u00E4digt [X,1] es [X,2] es"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it [X,2] on", "besch\u00E4digt [X,1] es [X,2] auf"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it [X,2] takes", "besch\u00E4digt [X,1] es [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it [X,2] yet", "besch\u00E4digt [X,1] es [X,2] und"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it [X,2]", "besch\u00E4digt [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it sets [X,2]", "besch\u00E4digt [X,1] es setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it sets him", "besch\u00E4digt [X,1] es setzt ihn"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it sets", "besch\u00E4digt [X,1] es setzt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it takes", "besch\u00E4digt [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] it", "besch\u00E4digt [X,1] es"); verifyLine(lines.get(n++), "[X]", "mars [X,1] on [X,2] takes", "besch\u00E4digt [X,1] auf [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] on [X,2]", "besch\u00E4digt [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] on yet [X,2]", "besch\u00E4digt [X,1] auf und [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] on yet it", "besch\u00E4digt [X,1] auf und es"); verifyLine(lines.get(n++), "[X]", "mars [X,1] on yet", "besch\u00E4digt [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "mars [X,1] on", "besch\u00E4digt [X,1] auf"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets [X,2] it", "besch\u00E4digt [X,1] setzt [X,2] es"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets [X,2] takes", "besch\u00E4digt [X,1] setzt [X,2] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets [X,2] yet", "besch\u00E4digt [X,1] setzt [X,2] und"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets [X,2]", "besch\u00E4digt [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets him [X,2]", "besch\u00E4digt [X,1] setzt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets him on", "besch\u00E4digt [X,1] setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets him", "besch\u00E4digt [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "mars [X,1] sets", "besch\u00E4digt [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] takes", "besch\u00E4digt [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] yet [X,2]", "besch\u00E4digt [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "mars [X,1] yet it takes", "besch\u00E4digt [X,1] und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars [X,1] yet it", "besch\u00E4digt [X,1] und es"); verifyLine(lines.get(n++), "[X]", "mars [X,1] yet", "besch\u00E4digt [X,1] und"); verifyLine(lines.get(n++), "[X]", "mars [X,1]", "besch\u00E4digt [X,1]"); verifyLine(lines.get(n++), "[X]", "mars him , [X,1] him", "besch\u00E4digt ihn , [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "mars him , [X,1] it", "besch\u00E4digt ihn , [X,1] es"); verifyLine(lines.get(n++), "[X]", "mars him , [X,1] on", "besch\u00E4digt ihn , [X,1] auf"); verifyLine(lines.get(n++), "[X]", "mars him , [X,1] takes", "besch\u00E4digt ihn , [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars him , [X,1] yet", "besch\u00E4digt ihn , [X,1] und"); verifyLine(lines.get(n++), "[X]", "mars him , [X,1]", "besch\u00E4digt ihn , [X,1]"); verifyLine(lines.get(n++), "[X]", "mars him , it [X,1]", "besch\u00E4digt ihn , es [X,1]"); verifyLine(lines.get(n++), "[X]", "mars him , it sets", "besch\u00E4digt ihn , es setzt"); verifyLine(lines.get(n++), "[X]", "mars him , it", "besch\u00E4digt ihn , es"); verifyLine(lines.get(n++), "[X]", "mars him ,", "besch\u00E4digt ihn ,"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] him [X,2]", "besch\u00E4digt ihn [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] him on", "besch\u00E4digt ihn [X,1] ihn auf"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] him", "besch\u00E4digt ihn [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] it takes", "besch\u00E4digt ihn [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] it", "besch\u00E4digt ihn [X,1] es"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] on [X,2]", "besch\u00E4digt ihn [X,1] auf [X,2]"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] on yet", "besch\u00E4digt ihn [X,1] auf und"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] on", "besch\u00E4digt ihn [X,1] auf"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] sets [X,2]", "besch\u00E4digt ihn [X,1] setzt [X,2]"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] sets him", "besch\u00E4digt ihn [X,1] setzt ihn"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] sets", "besch\u00E4digt ihn [X,1] setzt"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] takes", "besch\u00E4digt ihn [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] yet [X,2]", "besch\u00E4digt ihn [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] yet it", "besch\u00E4digt ihn [X,1] und es"); verifyLine(lines.get(n++), "[X]", "mars him [X,1] yet", "besch\u00E4digt ihn [X,1] und"); verifyLine(lines.get(n++), "[X]", "mars him [X,1]", "besch\u00E4digt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "mars him", "besch\u00E4digt ihn"); verifyLine(lines.get(n++), "[X]", "mars", "besch\u00E4digt"); verifyLine(lines.get(n++), "[X]", "off .", "aus ."); verifyLine(lines.get(n++), "[X]", "off", "aus"); verifyLine(lines.get(n++), "[X]", "on [X,1] .", "auf [X,1] ."); verifyLine(lines.get(n++), "[X]", "on [X,1] him [X,2]", "auf [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "on [X,1] him off .", "auf [X,1] ihn aus ."); verifyLine(lines.get(n++), "[X]", "on [X,1] him off", "auf [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "on [X,1] him", "auf [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "on [X,1] off .", "auf [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "on [X,1] off", "auf [X,1] aus"); verifyLine(lines.get(n++), "[X]", "on [X,1] takes [X,2] .", "auf [X,1] f\u00FChrt [X,2] ."); verifyLine(lines.get(n++), "[X]", "on [X,1] takes [X,2]", "auf [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "on [X,1] takes him [X,2]", "auf [X,1] f\u00FChrt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "on [X,1] takes him off", "auf [X,1] f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "on [X,1] takes him", "auf [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "on [X,1] takes", "auf [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "on [X,1]", "auf [X,1]"); verifyLine(lines.get(n++), "[X]", "on yet [X,1] .", "auf und [X,1] ."); verifyLine(lines.get(n++), "[X]", "on yet [X,1] him [X,2]", "auf und [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "on yet [X,1] him off", "auf und [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "on yet [X,1] him", "auf und [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "on yet [X,1] off .", "auf und [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "on yet [X,1] off", "auf und [X,1] aus"); verifyLine(lines.get(n++), "[X]", "on yet [X,1]", "auf und [X,1]"); verifyLine(lines.get(n++), "[X]", "on yet it [X,1] .", "auf und es [X,1] ."); verifyLine(lines.get(n++), "[X]", "on yet it [X,1] off", "auf und es [X,1] aus"); verifyLine(lines.get(n++), "[X]", "on yet it [X,1]", "auf und es [X,1]"); verifyLine(lines.get(n++), "[X]", "on yet it takes [X,1]", "auf und es f\u00FChrt [X,1]"); verifyLine(lines.get(n++), "[X]", "on yet it takes him", "auf und es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "on yet it takes", "auf und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "on yet it", "auf und es"); verifyLine(lines.get(n++), "[X]", "on yet", "auf und"); verifyLine(lines.get(n++), "[X]", "on", "auf"); verifyLine(lines.get(n++), "[X]", "sets [X,1] .", "setzt [X,1] ."); verifyLine(lines.get(n++), "[X]", "sets [X,1] him [X,2]", "setzt [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "sets [X,1] him off .", "setzt [X,1] ihn aus ."); verifyLine(lines.get(n++), "[X]", "sets [X,1] him off", "setzt [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "sets [X,1] him", "setzt [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "sets [X,1] it [X,2] .", "setzt [X,1] es [X,2] ."); verifyLine(lines.get(n++), "[X]", "sets [X,1] it [X,2] off", "setzt [X,1] es [X,2] aus"); verifyLine(lines.get(n++), "[X]", "sets [X,1] it [X,2]", "setzt [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "sets [X,1] it takes [X,2]", "setzt [X,1] es f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "sets [X,1] it takes him", "setzt [X,1] es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "sets [X,1] it takes", "setzt [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "sets [X,1] it", "setzt [X,1] es"); verifyLine(lines.get(n++), "[X]", "sets [X,1] off .", "setzt [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "sets [X,1] off", "setzt [X,1] aus"); verifyLine(lines.get(n++), "[X]", "sets [X,1] takes [X,2] .", "setzt [X,1] f\u00FChrt [X,2] ."); verifyLine(lines.get(n++), "[X]", "sets [X,1] takes [X,2]", "setzt [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "sets [X,1] takes him [X,2]", "setzt [X,1] f\u00FChrt ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "sets [X,1] takes him off", "setzt [X,1] f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "sets [X,1] takes him", "setzt [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "sets [X,1] takes", "setzt [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet [X,2] .", "setzt [X,1] und [X,2] ."); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet [X,2] him", "setzt [X,1] und [X,2] ihn"); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet [X,2] off", "setzt [X,1] und [X,2] aus"); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet [X,2]", "setzt [X,1] und [X,2]"); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet it [X,2]", "setzt [X,1] und es [X,2]"); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet it takes", "setzt [X,1] und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet it", "setzt [X,1] und es"); verifyLine(lines.get(n++), "[X]", "sets [X,1] yet", "setzt [X,1] und"); verifyLine(lines.get(n++), "[X]", "sets [X,1]", "setzt [X,1]"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] .", "setzt ihn [X,1] ."); verifyLine(lines.get(n++), "[X]", "sets him [X,1] him [X,2]", "setzt ihn [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] him off", "setzt ihn [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] him", "setzt ihn [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] it [X,2]", "setzt ihn [X,1] es [X,2]"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] it takes", "setzt ihn [X,1] es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] it", "setzt ihn [X,1] es"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] off .", "setzt ihn [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "sets him [X,1] off", "setzt ihn [X,1] aus"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] takes [X,2]", "setzt ihn [X,1] f\u00FChrt [X,2]"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] takes him", "setzt ihn [X,1] f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "sets him [X,1] takes", "setzt ihn [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "sets him [X,1]", "setzt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "sets him on [X,1] .", "setzt ihn auf [X,1] ."); verifyLine(lines.get(n++), "[X]", "sets him on [X,1] him", "setzt ihn auf [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "sets him on [X,1] off", "setzt ihn auf [X,1] aus"); verifyLine(lines.get(n++), "[X]", "sets him on [X,1] takes", "setzt ihn auf [X,1] f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "sets him on [X,1]", "setzt ihn auf [X,1]"); verifyLine(lines.get(n++), "[X]", "sets him on yet [X,1]", "setzt ihn auf und [X,1]"); verifyLine(lines.get(n++), "[X]", "sets him on yet it", "setzt ihn auf und es"); verifyLine(lines.get(n++), "[X]", "sets him on yet", "setzt ihn auf und"); verifyLine(lines.get(n++), "[X]", "sets him on", "setzt ihn auf"); verifyLine(lines.get(n++), "[X]", "sets him", "setzt ihn"); verifyLine(lines.get(n++), "[X]", "sets", "setzt"); verifyLine(lines.get(n++), "[X]", "takes [X,1] .", "f\u00FChrt [X,1] ."); verifyLine(lines.get(n++), "[X]", "takes [X,1]", "f\u00FChrt [X,1]"); verifyLine(lines.get(n++), "[X]", "takes him [X,1]", "f\u00FChrt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "takes him off .", "f\u00FChrt ihn aus ."); verifyLine(lines.get(n++), "[X]", "takes him off", "f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "takes him", "f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "takes", "f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "yet [X,1] .", "und [X,1] ."); verifyLine(lines.get(n++), "[X]", "yet [X,1] him [X,2]", "und [X,1] ihn [X,2]"); verifyLine(lines.get(n++), "[X]", "yet [X,1] him off .", "und [X,1] ihn aus ."); verifyLine(lines.get(n++), "[X]", "yet [X,1] him off", "und [X,1] ihn aus"); verifyLine(lines.get(n++), "[X]", "yet [X,1] him", "und [X,1] ihn"); verifyLine(lines.get(n++), "[X]", "yet [X,1] off .", "und [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "yet [X,1] off", "und [X,1] aus"); verifyLine(lines.get(n++), "[X]", "yet [X,1]", "und [X,1]"); verifyLine(lines.get(n++), "[X]", "yet it [X,1] .", "und es [X,1] ."); verifyLine(lines.get(n++), "[X]", "yet it [X,1] off .", "und es [X,1] aus ."); verifyLine(lines.get(n++), "[X]", "yet it [X,1] off", "und es [X,1] aus"); verifyLine(lines.get(n++), "[X]", "yet it [X,1]", "und es [X,1]"); verifyLine(lines.get(n++), "[X]", "yet it takes [X,1] .", "und es f\u00FChrt [X,1] ."); verifyLine(lines.get(n++), "[X]", "yet it takes [X,1]", "und es f\u00FChrt [X,1]"); verifyLine(lines.get(n++), "[X]", "yet it takes him [X,1]", "und es f\u00FChrt ihn [X,1]"); verifyLine(lines.get(n++), "[X]", "yet it takes him off", "und es f\u00FChrt ihn aus"); verifyLine(lines.get(n++), "[X]", "yet it takes him", "und es f\u00FChrt ihn"); verifyLine(lines.get(n++), "[X]", "yet it takes", "und es f\u00FChrt"); verifyLine(lines.get(n++), "[X]", "yet it", "und es"); verifyLine(lines.get(n++), "[X]", "yet", "und"); } }