### Question:
CalcSoundex implements LevenshteinPhonetic { @Override public PhoneticWordDist getPhonetic(String word1, String word2) { PhoneticWordDist phoneticWordDist = new PhoneticWordDist(word1, word2, null,null,-1) ; try { String phoneticWord1 = executeJavaStript(word1).toString(); String phoneticWord2 = executeJavaStript(word2).toString(); phoneticWordDist.setPhoneticWord1(phoneticWord1); phoneticWordDist.setPhoneticWord2(phoneticWord2); int distanceW12 = Levenshtein.levenshteinDistance(phoneticWord1, phoneticWord2); phoneticWordDist.setDistanceW12(distanceW12); } catch (NoSuchMethodException | ScriptException | IOException e) { e.printStackTrace(); } return phoneticWordDist; } CalcSoundex(); @Override PhoneticWordDist getPhonetic(String word1, String word2); static void writeGoldStandard(File inputFile, File outputFile, String csvSplitBy); static void main(String[] args);  }### Answer:
@Test public void getPhoneticTest() throws ScriptException, IOException, URISyntaxException{ LevenshteinPhonetic calcSoundex = new CalcSoundex(); PhoneticWordDist phoneticWordDist = calcSoundex.getPhonetic("metphomie", "metformine"); assertEquals(phoneticWordDist.getPhoneticWord1(), "METFOMI"); assertEquals(phoneticWordDist.getPhoneticWord2(), "METFORMIN"); assertEquals(phoneticWordDist.getDistanceW12(), 2); }