commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chtom...@apache.org
Subject [18/27] [text] TEXT-61: context.xml and test packages
Date Tue, 24 Jan 2017 12:30:59 GMT
http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/JavaUnicodeEscaperTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/JavaUnicodeEscaperTest.java b/src/test/java/org/apache/commons/text/beta/translate/JavaUnicodeEscaperTest.java
new file mode 100644
index 0000000..9e30f73
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/JavaUnicodeEscaperTest.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import java.io.UnsupportedEncodingException;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit tests for {@link JavaUnicodeEscaper}.
+ */
+public class JavaUnicodeEscaperTest {
+
+    @Test
+    public void testBelow() {
+        final JavaUnicodeEscaper jue = JavaUnicodeEscaper.below('F');
+
+        final String input = "ADFGZ";
+        final String result = jue.translate(input);
+        assertEquals("Failed to escape Unicode characters via the below method", "\\u0041\\u0044FGZ", result);
+    }
+
+    @Test
+    public void testBetween() {
+        final JavaUnicodeEscaper jue = JavaUnicodeEscaper.between('F', 'L');
+
+        final String input = "ADFGZ";
+        final String result = jue.translate(input);
+        assertEquals("Failed to escape Unicode characters via the between method", "AD\\u0046\\u0047Z", result);
+    }
+
+    @Test
+    public void testAbove() {
+        final JavaUnicodeEscaper jue = JavaUnicodeEscaper.above('F');
+
+        final String input = "ADFGZ";
+        final String result = jue.translate(input);
+        assertEquals("Failed to escape Unicode characters via the above method", "ADF\\u0047\\u005A", result);
+    }
+
+    @Test
+    public void testToUtf16Escape() throws UnsupportedEncodingException {
+        final JavaUnicodeEscaper jue = JavaUnicodeEscaper.below('F');
+        // According to https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B10000..U.2B10FFFF,
+        // Character ?,	U+24B62,	Binary Code Point 0010 0100 1011 0110 0010,	Binary UTF-167 1101 1000 0101 0010 1101 1111 0110 0010, UTF-16 Hex Code Units D852 DF62
+        final String encoding = jue.toUtf16Escape(Integer.parseInt("024B62", 16));
+        assertEquals("\\uD852\\uDF62",encoding);
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/LookupTranslatorTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/LookupTranslatorTest.java b/src/test/java/org/apache/commons/text/beta/translate/LookupTranslatorTest.java
new file mode 100644
index 0000000..384f58e
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/LookupTranslatorTest.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit tests for {@link LookupTranslator}.
+ */
+public class LookupTranslatorTest  {
+
+    @Test
+    public void testBasicLookup() throws IOException {
+        final Map<CharSequence, CharSequence> translatorMap = new HashMap<>();
+        translatorMap.put("one", "two");
+        final LookupTranslator lt = new LookupTranslator(translatorMap);
+        final StringWriter out = new StringWriter();
+        final int result = lt.translate("one", 0, out);
+        assertEquals("Incorrect codepoint consumption", 3, result);
+        assertEquals("Incorrect value", "two", out.toString());
+    }
+
+    // Tests: https://issues.apache.org/jira/browse/LANG-882
+    @Test
+    public void testLang882() throws IOException {
+        final Map<CharSequence, CharSequence> translatorMap = new HashMap<>();
+        translatorMap.put(new StringBuffer("one"), new StringBuffer("two"));
+        final LookupTranslator lt = new LookupTranslator(translatorMap);
+        final StringWriter out = new StringWriter();
+        final int result = lt.translate(new StringBuffer("one"), 0, out);
+        assertEquals("Incorrect codepoint consumption", 3, result);
+        assertEquals("Incorrect value", "two", out.toString());
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/NumericEntityEscaperTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/NumericEntityEscaperTest.java b/src/test/java/org/apache/commons/text/beta/translate/NumericEntityEscaperTest.java
new file mode 100644
index 0000000..9918885
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/NumericEntityEscaperTest.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit tests for {@link NumericEntityEscaper}.
+ */
+public class NumericEntityEscaperTest  {
+
+    @Test
+    public void testBelow() {
+        final NumericEntityEscaper nee = NumericEntityEscaper.below('F');
+
+        final String input = "ADFGZ";
+        final String result = nee.translate(input);
+        assertEquals("Failed to escape numeric entities via the below method", "&#65;&#68;FGZ", result);
+    }
+
+    @Test
+    public void testBetween() {
+        final NumericEntityEscaper nee = NumericEntityEscaper.between('F', 'L');
+
+        final String input = "ADFGZ";
+        final String result = nee.translate(input);
+        assertEquals("Failed to escape numeric entities via the between method", "AD&#70;&#71;Z", result);
+    }
+
+    @Test
+    public void testAbove() {
+        final NumericEntityEscaper nee = NumericEntityEscaper.above('F');
+
+        final String input = "ADFGZ";
+        final String result = nee.translate(input);
+        assertEquals("Failed to escape numeric entities via the above method", "ADF&#71;&#90;", result);
+    }
+
+    // See LANG-617
+    @Test
+    public void testSupplementary() {
+        final NumericEntityEscaper nee = new NumericEntityEscaper();
+        final String input = "\uD803\uDC22";
+        final String expected = "&#68642;";
+
+        final String result = nee.translate(input);
+        assertEquals("Failed to escape numeric entities supplementary characters", expected, result);
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/NumericEntityUnescaperTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/NumericEntityUnescaperTest.java b/src/test/java/org/apache/commons/text/beta/translate/NumericEntityUnescaperTest.java
new file mode 100644
index 0000000..ba5b0ce
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/NumericEntityUnescaperTest.java
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+/**
+ * Unit tests for {@link NumericEntityUnescaper}.
+ */
+public class NumericEntityUnescaperTest  {
+
+    @Test
+    public void testSupplementaryUnescaping() {
+        final NumericEntityUnescaper neu = new NumericEntityUnescaper();
+        final String input = "&#68642;";
+        final String expected = "\uD803\uDC22";
+
+        final String result = neu.translate(input);
+        assertEquals("Failed to unescape numeric entities supplementary characters", expected, result);
+    }
+
+    @Test
+    public void testOutOfBounds() {
+        final NumericEntityUnescaper neu = new NumericEntityUnescaper();
+
+        assertEquals("Failed to ignore when last character is &", "Test &", neu.translate("Test &"));
+        assertEquals("Failed to ignore when last character is &", "Test &#", neu.translate("Test &#"));
+        assertEquals("Failed to ignore when last character is &", "Test &#x", neu.translate("Test &#x"));
+        assertEquals("Failed to ignore when last character is &", "Test &#X", neu.translate("Test &#X"));
+    }
+
+    @Test
+    public void testUnfinishedEntity() {
+        // parse it
+        NumericEntityUnescaper neu = new NumericEntityUnescaper(NumericEntityUnescaper.OPTION.semiColonOptional);
+        String input = "Test &#x30 not test";
+        String expected = "Test \u0030 not test";
+
+        String result = neu.translate(input);
+        assertEquals("Failed to support unfinished entities (i.e. missing semi-colon)", expected, result);
+
+        // ignore it
+        neu = new NumericEntityUnescaper();
+        input = "Test &#x30 not test";
+        expected = input;
+
+        result = neu.translate(input);
+        assertEquals("Failed to ignore unfinished entities (i.e. missing semi-colon)", expected, result);
+
+        // fail it
+        neu = new NumericEntityUnescaper(NumericEntityUnescaper.OPTION.errorIfNoSemiColon);
+        input = "Test &#x30 not test";
+
+        try {
+            result = neu.translate(input);
+            fail("IllegalArgumentException expected");
+        } catch(final IllegalArgumentException iae) {
+            // expected
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/OctalUnescaperTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/OctalUnescaperTest.java b/src/test/java/org/apache/commons/text/beta/translate/OctalUnescaperTest.java
new file mode 100644
index 0000000..9f6442f
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/OctalUnescaperTest.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit tests for {@link OctalUnescaper}.
+ */
+public class OctalUnescaperTest {
+
+    @Test
+    public void testBetween() {
+        final OctalUnescaper oue = new OctalUnescaper();   //.between("1", "377");
+
+        String input = "\\45";
+        String result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\45", result);
+
+        input = "\\377";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\377", result);
+
+        input = "\\377 and";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\377 and", result);
+
+        input = "\\378 and";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\37" + "8 and", result);
+
+        input = "\\378";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\37" + "8", result);
+
+        input = "\\1";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\1", result);
+
+        input = "\\036";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\036", result);
+
+        input = "\\0365";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\036" + "5", result);
+
+        input = "\\003";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\003", result);
+
+        input = "\\0003";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\000" + "3", result);
+
+        input = "\\279";
+        result = oue.translate(input);
+        assertEquals("Failed to unescape octal characters via the between method", "\279", result);
+
+        input = "\\999";
+        result = oue.translate(input);
+        assertEquals("Failed to ignore an out of range octal character via the between method", "\\999", result);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/SinglePassTranslatorTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/SinglePassTranslatorTest.java b/src/test/java/org/apache/commons/text/beta/translate/SinglePassTranslatorTest.java
new file mode 100644
index 0000000..6a77350
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/SinglePassTranslatorTest.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit test for {@link SinglePassTranslator}
+ */
+public class SinglePassTranslatorTest {
+
+    private final SinglePassTranslator dummyTranslator = new SinglePassTranslator() {
+        @Override
+        void translateWhole(final CharSequence input, final Writer out) throws IOException {
+        }
+    };
+
+    private StringWriter out;
+
+    @Before
+    public void before() {
+         out = new StringWriter();
+    }
+
+    @Test
+    public void codePointsAreReturned() throws Exception {
+        assertEquals(0, dummyTranslator.translate("", 0, out));
+        assertEquals(3, dummyTranslator.translate("abc", 0, out));
+        assertEquals(7, dummyTranslator.translate("abcdefg", 0, out));
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void indexIsValidated() throws Exception {
+        dummyTranslator.translate("abc", 1, out);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/UnicodeEscaperTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/UnicodeEscaperTest.java b/src/test/java/org/apache/commons/text/beta/translate/UnicodeEscaperTest.java
new file mode 100644
index 0000000..7fe28ea
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/UnicodeEscaperTest.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit tests for {@link UnicodeEscaper}.
+ */
+public class UnicodeEscaperTest  {
+
+    @Test
+    public void testBelow() {
+        final UnicodeEscaper ue = UnicodeEscaper.below('F');
+
+        final String input = "ADFGZ";
+        final String result = ue.translate(input);
+        assertEquals("Failed to escape Unicode characters via the below method", "\\u0041\\u0044FGZ", result);
+    }
+
+    @Test
+    public void testBetween() {
+        final UnicodeEscaper ue = UnicodeEscaper.between('F', 'L');
+
+        final String input = "ADFGZ";
+        final String result = ue.translate(input);
+        assertEquals("Failed to escape Unicode characters via the between method", "AD\\u0046\\u0047Z", result);
+    }
+
+    @Test
+    public void testAbove() {
+        final UnicodeEscaper ue = UnicodeEscaper.above('F');
+
+        final String input = "ADFGZ";
+        final String result = ue.translate(input);
+        assertEquals("Failed to escape Unicode characters via the above method", "ADF\\u0047\\u005A", result);
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnescaperTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnescaperTest.java b/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnescaperTest.java
new file mode 100644
index 0000000..9a74b30
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnescaperTest.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+/**
+ * Unit tests for {@link UnicodeEscaper}.
+ */
+public class UnicodeUnescaperTest {
+
+    // Requested in LANG-507
+    @Test
+    public void testUPlus() {
+        final UnicodeUnescaper uu = new UnicodeUnescaper();
+
+        final String input = "\\u+0047";
+        assertEquals("Failed to unescape Unicode characters with 'u+' notation", "G", uu.translate(input));
+    }
+
+    @Test
+    public void testUuuuu() {
+        final UnicodeUnescaper uu = new UnicodeUnescaper();
+
+        final String input = "\\uuuuuuuu0047";
+        final String result = uu.translate(input);
+        assertEquals("Failed to unescape Unicode characters with many 'u' characters", "G", result);
+    }
+
+    @Test
+    public void testLessThanFour() {
+        final UnicodeUnescaper uu = new UnicodeUnescaper();
+
+        final String input = "\\0047\\u006";
+        try {
+            uu.translate(input);
+            fail("A lack of digits in a Unicode escape sequence failed to throw an exception");
+        } catch(final IllegalArgumentException iae) {
+            // expected
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnpairedSurrogateRemoverTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnpairedSurrogateRemoverTest.java b/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnpairedSurrogateRemoverTest.java
new file mode 100644
index 0000000..3d30cee
--- /dev/null
+++ b/src/test/java/org/apache/commons/text/beta/translate/UnicodeUnpairedSurrogateRemoverTest.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.text.beta.translate;
+
+import org.junit.Test;
+
+import java.io.CharArrayWriter;
+import java.io.IOException;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Unit tests for {@link UnicodeUnpairedSurrogateRemover}.
+ */
+public class UnicodeUnpairedSurrogateRemoverTest {
+    final UnicodeUnpairedSurrogateRemover subject = new UnicodeUnpairedSurrogateRemover();
+    final CharArrayWriter writer = new CharArrayWriter(); // nothing is ever written to it
+    
+    @Test
+    public void testValidCharacters() throws IOException {
+        assertEquals(false, subject.translate(0xd7ff, writer));
+        assertEquals(false, subject.translate(0xe000, writer));
+        assertEquals(0, writer.size());
+    }
+    
+    @Test
+    public void testInvalidCharacters() throws IOException {
+        assertEquals(true, subject.translate(0xd800, writer));
+        assertEquals(true, subject.translate(0xdfff, writer));
+        assertEquals(0, writer.size());
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/diff/ReplacementsFinderTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/diff/ReplacementsFinderTest.java b/src/test/java/org/apache/commons/text/diff/ReplacementsFinderTest.java
deleted file mode 100644
index 2bf3587..0000000
--- a/src/test/java/org/apache/commons/text/diff/ReplacementsFinderTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.diff;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.commons.text.beta.diff.ReplacementsFinder;
-import org.apache.commons.text.beta.diff.ReplacementsHandler;
-import org.apache.commons.text.beta.diff.StringsComparator;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-/**
- * Tests for the ReplacementsFinder.
- */
-@RunWith(Parameterized.class)
-public class ReplacementsFinderTest {
-    private SimpleHandler handler = null;
-    private final String left;
-    private final String right;
-    private final int skipped;
-    private final Character[] from;
-    private final Character[] to;
-    @Before
-    public void setUp() {
-        handler = new SimpleHandler();
-    }
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] {
-            {
-                "branco",
-                "blanco",
-                1,
-                new Character[] {'r'},
-                new Character[] {'l'}},
-            {
-                "test the blocks before you use it",
-                "try the blocks before you put it",
-                25,
-                new Character[] {'e', 's', 't', 's', 'e'},
-                new Character[] {'r', 'y', 'p', 't'}
-            }
-        });
-    }
-    public ReplacementsFinderTest(final String left, final String right, final int skipped,
-            final Character[] from, final Character[] to) {
-        this.left = left;
-        this.right = right;
-        this.skipped = skipped;
-        this.from = from;
-        this.to = to;
-    }
-    @Test
-    public void testReplacementsHandler() {
-        final StringsComparator sc = new StringsComparator(left, right);
-        final ReplacementsFinder<Character> replacementFinder = new ReplacementsFinder<>(handler);
-        sc.getScript().visit(replacementFinder);
-        assertEquals("Skipped characters do not match", skipped, handler.getSkipped());
-        assertArrayEquals("From characters do not match", from,
-                handler.getFrom().toArray(new Character[0]));
-        assertArrayEquals("To characters do not match", to,
-                handler.getTo().toArray(new Character[0]));
-    }
-    // Helper RecplacementsHandler implementation for testing
-    private class SimpleHandler implements ReplacementsHandler<Character> {
-        private int skipped;
-        private final List<Character> from;
-        private final List<Character> to;
-        public SimpleHandler() {
-            skipped = 0;
-            from = new ArrayList<>();
-            to = new ArrayList<>();
-        }
-        public int getSkipped() {
-            return skipped;
-        }
-        public List<Character> getFrom() {
-            return from;
-        }
-        public List<Character> getTo() {
-            return to;
-        }
-        @Override
-        public void handleReplacement(final int skipped, final List<Character> from, final List<Character> to) {
-            this.skipped += skipped;
-            this.from.addAll(from);
-            this.to.addAll(to);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/diff/StringsComparatorTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/diff/StringsComparatorTest.java b/src/test/java/org/apache/commons/text/diff/StringsComparatorTest.java
deleted file mode 100644
index 64e6d65..0000000
--- a/src/test/java/org/apache/commons/text/diff/StringsComparatorTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.diff;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.commons.text.beta.diff.CommandVisitor;
-import org.apache.commons.text.beta.diff.StringsComparator;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-/**
- * Tests for the StringsComparator.
- */
-public class StringsComparatorTest {
-    private List<String> before;
-    private List<String> after;
-    private int[]        length;
-    private int[]        lcs;
-    @Test
-    public void testLength() {
-        for (int i = 0; i < before.size(); ++i) {
-            final StringsComparator comparator =  new StringsComparator(before.get(i), after.get(i));
-            Assert.assertEquals(length[i], comparator.getScript().getModifications());
-        }
-    }
-    @Test
-    public void testLongestCommonSubsequence() {
-        for (int i = 0; i < before.size(); ++i) {
-            final StringsComparator comparator =  new StringsComparator(before.get(i), after.get(i));
-            Assert.assertEquals(lcs[i], comparator.getScript().getLCSLength());
-        }
-    }
-    @Test
-    public void testExecution() {
-        for (int i = 0; i < before.size(); ++i) {
-            final ExecutionVisitor<Character> ev = new ExecutionVisitor<>();
-            new StringsComparator(before.get(i), after.get(i)).getScript().visit(ev);
-            Assert.assertEquals(after.get(i), ev.getString());
-        }
-    }
-    private class ExecutionVisitor<T> implements CommandVisitor<T> {
-        private final StringBuilder v;
-        public ExecutionVisitor() {
-            v = new StringBuilder();
-        }
-        @Override
-        public void visitInsertCommand(final T object) {
-            v.append(object);
-        }
-        @Override
-        public void visitKeepCommand(final T object) {
-            v.append(object);
-        }
-        @Override
-        public void visitDeleteCommand(final T object) {
-        }
-        public String getString() {
-            return v.toString();
-        }
-    }
-    @Before
-    public void setUp() {
-        before = Arrays.asList(
-            "bottle",
-            "nematode knowledge",
-            "",
-            "aa",
-            "prefixed string",
-            "ABCABBA",
-            "glop glop",
-            "coq",
-            "spider-man");
-        after = Arrays.asList(
-            "noodle",
-            "empty bottle",
-            "",
-            "C",
-            "prefix",
-            "CBABAC",
-            "pas glop pas glop",
-            "ane",
-            "klingon");
-        length = new int[] {
-            6,
-            16,
-            0,
-            3,
-            9,
-            5,
-            8,
-            6,
-            13
-        };
-        lcs = new int[] {
-            3,
-            7,
-            0,
-            0,
-            6,
-            4,
-            9,
-            0,
-            2
-        };
-    }
-    @After
-    public void tearDown() {
-        before = null;
-        after  = null;
-        length = null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/CosineDistanceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/CosineDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/CosineDistanceTest.java
deleted file mode 100644
index c03bbc2..0000000
--- a/src/test/java/org/apache/commons/text/similarity/CosineDistanceTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-
-import org.apache.commons.text.beta.similarity.CosineDistance;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link org.apache.commons.text.beta.similarity.CosineSimilarity}.
- */
-public class CosineDistanceTest {
-
-    /**
-     * Cosine distance under test.
-     */
-    private static CosineDistance cosineDistance;
-
-    /**
-     * Creates the cosine distance object used throughout the tests.
-     */
-    @BeforeClass
-    public static void setUp() {
-        cosineDistance = new CosineDistance();
-    }
-
-    /**
-     * Tests the cosine distance with several inputs.
-     */
-    @Test
-    public void testCosineDistance() {
-        assertEquals(Double.valueOf(0.5d), roundValue(cosineDistance.apply("the house", "da house")));
-        assertEquals(Double.valueOf(0.0d), roundValue(cosineDistance.apply("AB", "AB")));
-        assertEquals(Double.valueOf(1.0d), roundValue(cosineDistance.apply("AB", "BA")));
-        assertEquals(Double.valueOf(0.08d), roundValue(cosineDistance.apply(
-                "the boy was from tamana shi, kumamoto ken, and the girl was from rio de janeiro, rio",
-                "the boy was from tamana shi, kumamoto, and the boy was from rio de janeiro, rio de janeiro")));
-    }
-
-    // --- Utility methods
-
-    /**
-     * Rounds up a value.
-     *
-     * @param value a value
-     * @return rounded up value
-     */
-    private Double roundValue(final Double value) {
-        return (Double) new BigDecimal(value).setScale(2, RoundingMode.HALF_UP).doubleValue();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java b/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java
deleted file mode 100644
index 17d1440..0000000
--- a/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.Locale;
-
-import org.apache.commons.text.beta.similarity.FuzzyScore;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link org.apache.commons.text.beta.similarity.FuzzyScore}.
- */
-public class FuzzyScoreTest {
-
-    private static final FuzzyScore ENGLISH_SCORE = new FuzzyScore(Locale.ENGLISH);
-
-    @Test
-    public void testGetFuzzyScore() throws Exception {
-        assertEquals(0, (int) ENGLISH_SCORE.fuzzyScore("", ""));
-        assertEquals(0, (int) ENGLISH_SCORE.fuzzyScore("Workshop", "b"));
-        assertEquals(1, (int) ENGLISH_SCORE.fuzzyScore("Room", "o"));
-        assertEquals(1, (int) ENGLISH_SCORE.fuzzyScore("Workshop", "w"));
-        assertEquals(2, (int) ENGLISH_SCORE.fuzzyScore("Workshop", "ws"));
-        assertEquals(4, (int) ENGLISH_SCORE.fuzzyScore("Workshop", "wo"));
-        assertEquals(3, (int) ENGLISH_SCORE.fuzzyScore(
-            "Apache Software Foundation", "asf"));
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetFuzzyScore_StringNullLocale() throws Exception {
-        ENGLISH_SCORE.fuzzyScore("not null", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetFuzzyScore_NullStringLocale() throws Exception {
-        ENGLISH_SCORE.fuzzyScore(null, "not null");
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetFuzzyScore_NullNullLocale() throws Exception {
-        ENGLISH_SCORE.fuzzyScore(null, null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testMissingLocale() throws Exception {
-        new FuzzyScore((Locale) null);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java
deleted file mode 100644
index ba3e716..0000000
--- a/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.commons.text.beta.similarity.HammingDistance;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link org.apache.commons.text.beta.similarity.HammingDistance}.
- */
-public class HammingDistanceTest {
-
-    private static HammingDistance distance;
-
-    @BeforeClass
-    public static void setUp() {
-        distance = new HammingDistance();
-    }
-
-    @Test
-    public void testHammingDistance() {
-        assertEquals(Integer.valueOf(0), distance.apply("", ""));
-        assertEquals(Integer.valueOf(0), distance.apply("pappa", "pappa"));
-        assertEquals(Integer.valueOf(1), distance.apply("papaa", "pappa"));
-        assertEquals(Integer.valueOf(3), distance.apply("karolin", "kathrin"));
-        assertEquals(Integer.valueOf(3), distance.apply("karolin", "kerstin"));
-        assertEquals(Integer.valueOf(2), distance.apply("1011101", "1001001"));
-        assertEquals(Integer.valueOf(3), distance.apply("2173896", "2233796"));
-        assertEquals(Integer.valueOf(2), distance.apply("ATCG", "ACCC"));
-    }
-
-    @Test(expected=IllegalArgumentException.class)
-    public void testHammingDistance_nullLeftValue() {
-        distance.apply(null, "");
-    }
-
-    @Test(expected=IllegalArgumentException.class)
-    public void testHammingDistance_nullRightValue() {
-        distance.apply("", null);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/JaccardDistanceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/JaccardDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/JaccardDistanceTest.java
deleted file mode 100644
index f6d0187..0000000
--- a/src/test/java/org/apache/commons/text/similarity/JaccardDistanceTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.commons.text.beta.similarity.JaccardDistance;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link org.apache.commons.text.beta.similarity.JaccardDistance}.
- */
-public class JaccardDistanceTest {
-
-    private static JaccardDistance classBeingTested;
-    
-    @BeforeClass
-    public static void setUp() {
-        classBeingTested = new JaccardDistance();
-    }
-
-    @Test
-    public void testGettingJaccardDistance() {
-        assertEquals(1.00d, classBeingTested.apply("", ""), 0.0d);
-        assertEquals(1.00d, classBeingTested.apply("left", ""), 0.0d);
-        assertEquals(1.00d, classBeingTested.apply("", "right"), 0.0d);
-        assertEquals(0.25d, classBeingTested.apply("frog", "fog"), 0.0d);
-        assertEquals(1.00d, classBeingTested.apply("fly", "ant"), 0.0d);
-        assertEquals(0.78d, classBeingTested.apply("elephant", "hippo"), 0.0d);
-        assertEquals(0.36d, classBeingTested.apply("ABC Corporation", "ABC Corp"), 0.0d);
-        assertEquals(0.24d, classBeingTested.apply("D N H Enterprises Inc", "D & H Enterprises, Inc."), 0.0d);
-        assertEquals(0.11d, classBeingTested.apply("My Gym Children's Fitness Center", "My Gym. Childrens Fitness"), 0.0d);
-        assertEquals(0.10d, classBeingTested.apply("PENNSYLVANIA", "PENNCISYLVNIA"), 0.0d);
-        assertEquals(0.87d, classBeingTested.apply("left", "right"), 0.0d);
-        assertEquals(0.87d, classBeingTested.apply("leettteft", "ritttght"), 0.0d);
-        assertEquals(0.0d, classBeingTested.apply("the same string", "the same string"), 0.0d);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingJaccardDistanceNullNull() throws Exception {
-        classBeingTested.apply(null, null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingJaccardDistanceStringNull() throws Exception {
-        classBeingTested.apply(" ", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingJaccardDistanceNullString() throws Exception {
-        classBeingTested.apply(null, "right");
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/JaccardSimilarityTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/JaccardSimilarityTest.java b/src/test/java/org/apache/commons/text/similarity/JaccardSimilarityTest.java
deleted file mode 100644
index f412e65..0000000
--- a/src/test/java/org/apache/commons/text/similarity/JaccardSimilarityTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.commons.text.beta.similarity.JaccardSimilarity;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link org.apache.commons.text.beta.similarity.JaccardSimilarity}.
- */
-public class JaccardSimilarityTest {
-
-    private static JaccardSimilarity classBeingTested;
-    
-    @BeforeClass
-    public static void setUp() {
-        classBeingTested = new JaccardSimilarity();
-    }
-
-    @Test
-    public void testGettingJaccardSimilarity() {
-        assertEquals(0.00d, classBeingTested.apply("", ""), 0.0d);
-        assertEquals(0.00d, classBeingTested.apply("left", ""), 0.0d);
-        assertEquals(0.00d, classBeingTested.apply("", "right"), 0.0d);
-        assertEquals(0.75d, classBeingTested.apply("frog", "fog"), 0.0d);
-        assertEquals(0.00d, classBeingTested.apply("fly", "ant"), 0.0d);
-        assertEquals(0.22d, classBeingTested.apply("elephant", "hippo"), 0.0d);
-        assertEquals(0.64d, classBeingTested.apply("ABC Corporation", "ABC Corp"), 0.0d);
-        assertEquals(0.76d, classBeingTested.apply("D N H Enterprises Inc", "D & H Enterprises, Inc."), 0.0d);
-        assertEquals(0.89d, classBeingTested.apply("My Gym Children's Fitness Center", "My Gym. Childrens Fitness"), 0.0d);
-        assertEquals(0.9d, classBeingTested.apply("PENNSYLVANIA", "PENNCISYLVNIA"), 0.0d);
-        assertEquals(0.13d, classBeingTested.apply("left", "right"), 0.0d);
-        assertEquals(0.13d, classBeingTested.apply("leettteft", "ritttght"), 0.0d);
-        assertEquals(1.0d, classBeingTested.apply("the same string", "the same string"), 0.0d);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingJaccardSimilarityNullNull() throws Exception {
-        classBeingTested.apply(null, null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingJaccardSimilarityStringNull() throws Exception {
-        classBeingTested.apply(" ", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingJaccardSimilarityNullString() throws Exception {
-        classBeingTested.apply(null, "right");
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java
deleted file mode 100644
index 2da92af..0000000
--- a/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.commons.text.beta.similarity.JaroWinklerDistance;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link JaroWinklerDistance}.
- */
-public class JaroWinklerDistanceTest {
-
-    private static JaroWinklerDistance distance;
-    
-    @BeforeClass
-    public static void setUp() {
-        distance = new JaroWinklerDistance();
-    }
-    
-    @Test
-    public void testGetJaroWinklerDistance_StringString() {
-        assertEquals(0.93d, (double) distance.apply("frog", "fog"), 0.0d);
-        assertEquals(0.0d, (double) distance.apply("fly", "ant"), 0.0d);
-        assertEquals(0.44d, (double) distance.apply("elephant", "hippo"), 0.0d);
-        assertEquals(0.93d, (double) distance.apply("ABC Corporation", "ABC Corp"), 0.0d);
-        assertEquals(0.95d, (double) distance.apply("D N H Enterprises Inc", "D & H Enterprises, Inc."), 0.0d);
-        assertEquals(0.92d, (double) distance.apply("My Gym Children's Fitness Center", "My Gym. Childrens Fitness"), 0.0d);
-        assertEquals(0.88d, (double) distance.apply("PENNSYLVANIA", "PENNCISYLVNIA"), 0.0d);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetJaroWinklerDistance_NullNull() throws Exception {
-        distance.apply(null, null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetJaroWinklerDistance_StringNull() throws Exception {
-        distance.apply(" ", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetJaroWinklerDistance_NullString() throws Exception {
-        distance.apply(null, "clear");
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/LevenshteinDetailedDistanceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/LevenshteinDetailedDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/LevenshteinDetailedDistanceTest.java
deleted file mode 100644
index 2bf05c5..0000000
--- a/src/test/java/org/apache/commons/text/similarity/LevenshteinDetailedDistanceTest.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.commons.text.beta.similarity.LevenshteinDetailedDistance;
-import org.apache.commons.text.beta.similarity.LevenshteinResults;
-import org.junit.Test;
-
-public class LevenshteinDetailedDistanceTest {
-
-    private static final LevenshteinDetailedDistance UNLIMITED_DISTANCE = new LevenshteinDetailedDistance();
-
-    @Test
-    public void testGetLevenshteinDetailedDistance_StringString() {
-        LevenshteinResults result = UNLIMITED_DISTANCE.apply("", "");
-        assertEquals(0, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("", "a");
-        assertEquals(1, (int) result.getDistance());
-        assertEquals(1, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("aaapppp", "");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(7, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("frog", "fog");
-        assertEquals(1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(1, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("fly", "ant");
-        assertEquals(3, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(3, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("elephant", "hippo");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(3, (int) result.getDeleteCount());
-        assertEquals(4, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("hippo", "elephant");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(3, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(4, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("hippo", "zzzzzzzz");
-        assertEquals(8, (int) result.getDistance());
-        assertEquals(3, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(5, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("zzzzzzzz", "hippo");
-        assertEquals(8, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(3, (int) result.getDeleteCount());
-        assertEquals(5, (int) result.getSubstituteCount());
-
-        result = UNLIMITED_DISTANCE.apply("hello", "hallo");
-        assertEquals(1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-    }
-    
-    @Test
-    public void testEquals() {
-     final LevenshteinDetailedDistance classBeingTested = new LevenshteinDetailedDistance();
-     LevenshteinResults actualResult = classBeingTested.apply("hello", "hallo");
-     LevenshteinResults expectedResult = new LevenshteinResults(1, 0, 0, 1);
-     assertEquals(actualResult, expectedResult);
-     
-     actualResult = classBeingTested.apply("zzzzzzzz", "hippo");
-     expectedResult = new LevenshteinResults(8, 0, 3, 5);
-     assertEquals(actualResult, expectedResult);
-     assertEquals(actualResult, actualResult); //intentionally added
-
-     actualResult = classBeingTested.apply("", "");
-     expectedResult = new LevenshteinResults(0, 0, 0, 0);
-     assertEquals(actualResult, expectedResult);
-    }
-
-    @Test
-    public void testHashCode() {
-     final LevenshteinDetailedDistance classBeingTested = new LevenshteinDetailedDistance();
-     LevenshteinResults actualResult = classBeingTested.apply("aaapppp", "");
-     LevenshteinResults expectedResult = new LevenshteinResults(7, 0, 7, 0);
-     assertEquals(actualResult.hashCode(), expectedResult.hashCode());
-     
-     actualResult = classBeingTested.apply("frog", "fog");
-     expectedResult = new LevenshteinResults(1, 0, 1, 0);
-     assertEquals(actualResult.hashCode(), expectedResult.hashCode());
-
-     actualResult = classBeingTested.apply("elephant", "hippo");
-     expectedResult = new LevenshteinResults(7, 0, 3, 4);
-     assertEquals(actualResult.hashCode(), expectedResult.hashCode());
-    }
-
-    @Test
-    public void testToString() {
-     final LevenshteinDetailedDistance classBeingTested = new LevenshteinDetailedDistance();
-     LevenshteinResults actualResult = classBeingTested.apply("fly", "ant");
-     LevenshteinResults expectedResult = new LevenshteinResults(3, 0, 0, 3);
-     assertEquals(actualResult.toString(), expectedResult.toString());
-     
-     actualResult = classBeingTested.apply("hippo", "elephant");
-     expectedResult = new LevenshteinResults(7, 3, 0, 4);
-     assertEquals(actualResult.toString(), expectedResult.toString());
-
-     actualResult = classBeingTested.apply("", "a");
-     expectedResult = new LevenshteinResults(1, 1, 0, 0);
-     assertEquals(actualResult.toString(), expectedResult.toString());
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDetailedDistance_NullString() throws Exception {
-        UNLIMITED_DISTANCE.apply("a", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDetailedDistance_StringNull() throws Exception {
-        UNLIMITED_DISTANCE.apply(null, "a");
-    }
-
-    @Test
-    public void testGetLevenshteinDetailedDistance_StringStringInt() {
-
-        LevenshteinResults result = new LevenshteinDetailedDistance(0).apply("", "");
-
-        assertEquals(0, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(8).apply("aaapppp", "");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(7, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(7).apply("aaapppp", "");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(7, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(6).apply("aaapppp", "");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(0).apply("b", "a");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(0).apply("a", "b");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(0).apply("aa", "aa");
-        assertEquals(0, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(2).apply("aa", "aa");
-        assertEquals(0, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(2).apply("aaa", "bbb");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(3).apply("aaa", "bbb");
-        assertEquals(3, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(3, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(10).apply("aaaaaa", "b");
-        assertEquals(6, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(5, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(8).apply("aaapppp", "b");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(6, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(4).apply("a", "bbb");
-        assertEquals(3, (int) result.getDistance());
-        assertEquals(2, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(7).apply("aaapppp", "b");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(6, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(3).apply("a", "bbb");
-        assertEquals(3, (int) result.getDistance());
-        assertEquals(2, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(2).apply("a", "bbb");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(2).apply("bbb", "a");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(6).apply("aaapppp", "b");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(1).apply("a", "bbb");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(1).apply("bbb", "a");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(1).apply("12345", "1234567");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(1).apply("1234567", "12345");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(1).apply("frog", "fog");
-        assertEquals(1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(1, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(3).apply("fly", "ant");
-        assertEquals(3, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(3, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(7).apply("elephant", "hippo");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(3, (int) result.getDeleteCount());
-        assertEquals(4, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(6).apply("elephant", "hippo");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(7).apply("hippo", "elephant");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(3, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(4, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(7).apply("hippo", "elephant");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(3, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(4, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(6).apply("hippo", "elephant");
-        assertEquals(-1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(8).apply("hippo", "zzzzzzzz");
-        assertEquals(8, (int) result.getDistance());
-        assertEquals(3, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(5, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(8).apply("zzzzzzzz", "hippo");
-        assertEquals(8, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(3, (int) result.getDeleteCount());
-        assertEquals(5, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(1).apply("hello", "hallo");
-        assertEquals(1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(Integer.MAX_VALUE).apply("frog", "fog");
-        assertEquals(1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(1, (int) result.getDeleteCount());
-        assertEquals(0, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(Integer.MAX_VALUE).apply("fly", "ant");
-        assertEquals(3, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(3, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(Integer.MAX_VALUE).apply("elephant", "hippo");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(3, (int) result.getDeleteCount());
-        assertEquals(4, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(Integer.MAX_VALUE).apply("hippo", "elephant");
-        assertEquals(7, (int) result.getDistance());
-        assertEquals(3, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(4, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(Integer.MAX_VALUE).apply("hippo", "zzzzzzzz");
-        assertEquals(8, (int) result.getDistance());
-        assertEquals(3, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(5, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(Integer.MAX_VALUE).apply("zzzzzzzz", "hippo");
-        assertEquals(8, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(3, (int) result.getDeleteCount());
-        assertEquals(5, (int) result.getSubstituteCount());
-
-        result = new LevenshteinDetailedDistance(Integer.MAX_VALUE).apply("hello", "hallo");
-        assertEquals(1, (int) result.getDistance());
-        assertEquals(0, (int) result.getInsertCount());
-        assertEquals(0, (int) result.getDeleteCount());
-        assertEquals(1, (int) result.getSubstituteCount());
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDetailedDistance_NullStringInt() throws Exception {
-        UNLIMITED_DISTANCE.apply(null, "a");
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDetailedDistance_StringNullInt() throws Exception {
-        UNLIMITED_DISTANCE.apply("a", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testConstructorWithNegativeThreshold() throws Exception {
-        new LevenshteinDetailedDistance(-1);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/LevenshteinDistanceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/LevenshteinDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/LevenshteinDistanceTest.java
deleted file mode 100644
index adb3b3e..0000000
--- a/src/test/java/org/apache/commons/text/similarity/LevenshteinDistanceTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.commons.text.beta.similarity.LevenshteinDistance;
-import org.junit.Test;
-
-/**
- * Unit tests for {@link org.apache.commons.text.beta.similarity.LevenshteinDistance}.
- */
-public class LevenshteinDistanceTest {
-
-    private static final LevenshteinDistance UNLIMITED_DISTANCE = new LevenshteinDistance();
-
-    @Test
-    public void testGetLevenshteinDistance_StringString() {
-        assertEquals(0, (int) UNLIMITED_DISTANCE.apply("", ""));
-        assertEquals(1, (int) UNLIMITED_DISTANCE.apply("", "a"));
-        assertEquals(7, (int) UNLIMITED_DISTANCE.apply("aaapppp", ""));
-        assertEquals(1, (int) UNLIMITED_DISTANCE.apply("frog", "fog"));
-        assertEquals(3, (int) UNLIMITED_DISTANCE.apply("fly", "ant"));
-        assertEquals(7, (int) UNLIMITED_DISTANCE.apply("elephant", "hippo"));
-        assertEquals(7, (int) UNLIMITED_DISTANCE.apply("hippo", "elephant"));
-        assertEquals(8, (int) UNLIMITED_DISTANCE.apply("hippo", "zzzzzzzz"));
-        assertEquals(8, (int) UNLIMITED_DISTANCE.apply("zzzzzzzz", "hippo"));
-        assertEquals(1, (int) UNLIMITED_DISTANCE.apply("hello", "hallo"));
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDistance_NullString() throws Exception {
-        UNLIMITED_DISTANCE.apply("a", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDistance_StringNull() throws Exception {
-        UNLIMITED_DISTANCE.apply(null, "a");
-    }
-
-    @Test
-    public void testGetLevenshteinDistance_StringStringInt() {
-        // empty strings
-        assertEquals(0, (int) new LevenshteinDistance(0).apply("", ""));
-        assertEquals(7, (int) new LevenshteinDistance(8).apply("aaapppp", ""));
-        assertEquals(7, (int) new LevenshteinDistance(7).apply("aaapppp", ""));
-        assertEquals(-1, (int) new LevenshteinDistance(6).apply("aaapppp", ""));
-
-        // unequal strings, zero threshold
-        assertEquals(-1, (int) new LevenshteinDistance(0).apply("b", "a"));
-        assertEquals(-1, (int) new LevenshteinDistance(0).apply("a", "b"));
-
-        // equal strings
-        assertEquals(0, (int) new LevenshteinDistance(0).apply("aa", "aa"));
-        assertEquals(0, (int) new LevenshteinDistance(2).apply("aa", "aa"));
-
-        // same length
-        assertEquals(-1, (int) new LevenshteinDistance(2).apply("aaa", "bbb"));
-        assertEquals(3, (int) new LevenshteinDistance(3).apply("aaa", "bbb"));
-
-        // big stripe
-        assertEquals(6, (int) new LevenshteinDistance(10).apply("aaaaaa", "b"));
-
-        // distance less than threshold
-        assertEquals(7, (int) new LevenshteinDistance(8).apply("aaapppp", "b"));
-        assertEquals(3, (int) new LevenshteinDistance(4).apply("a", "bbb"));
-
-        // distance equal to threshold
-        assertEquals(7, (int) new LevenshteinDistance(7).apply("aaapppp", "b"));
-        assertEquals(3, (int) new LevenshteinDistance(3).apply("a", "bbb"));
-
-        // distance greater than threshold
-        assertEquals(-1, (int) new LevenshteinDistance(2).apply("a", "bbb"));
-        assertEquals(-1, (int) new LevenshteinDistance(2).apply("bbb", "a"));
-        assertEquals(-1, (int) new LevenshteinDistance(6).apply("aaapppp", "b"));
-
-        // stripe runs off array, strings not similar
-        assertEquals(-1, (int) new LevenshteinDistance(1).apply("a", "bbb"));
-        assertEquals(-1, (int) new LevenshteinDistance(1).apply("bbb", "a"));
-
-        // stripe runs off array, strings are similar
-        assertEquals(-1, (int) new LevenshteinDistance(1).apply("12345", "1234567"));
-        assertEquals(-1, (int) new LevenshteinDistance(1).apply("1234567", "12345"));
-
-        // old getLevenshteinDistance test cases
-        assertEquals(1, (int) new LevenshteinDistance(1).apply("frog", "fog"));
-        assertEquals(3, (int) new LevenshteinDistance(3).apply("fly", "ant"));
-        assertEquals(7, (int) new LevenshteinDistance(7).apply("elephant", "hippo"));
-        assertEquals(-1, (int) new LevenshteinDistance(6).apply("elephant", "hippo"));
-        assertEquals(7, (int) new LevenshteinDistance(7).apply("hippo", "elephant"));
-        assertEquals(-1, (int) new LevenshteinDistance(6).apply("hippo", "elephant"));
-        assertEquals(8, (int) new LevenshteinDistance(8).apply("hippo", "zzzzzzzz"));
-        assertEquals(8, (int) new LevenshteinDistance(8).apply("zzzzzzzz", "hippo"));
-        assertEquals(1, (int) new LevenshteinDistance(1).apply("hello", "hallo"));
-
-        assertEquals(1,
-                (int) new LevenshteinDistance(Integer.MAX_VALUE).apply("frog", "fog"));
-        assertEquals(3, (int) new LevenshteinDistance(Integer.MAX_VALUE).apply("fly", "ant"));
-        assertEquals(7,
-                (int) new LevenshteinDistance(Integer.MAX_VALUE).apply("elephant", "hippo"));
-        assertEquals(7,
-                (int) new LevenshteinDistance(Integer.MAX_VALUE).apply("hippo", "elephant"));
-        assertEquals(8,
-                (int) new LevenshteinDistance(Integer.MAX_VALUE).apply("hippo", "zzzzzzzz"));
-        assertEquals(8,
-                (int) new LevenshteinDistance(Integer.MAX_VALUE).apply("zzzzzzzz", "hippo"));
-        assertEquals(1,
-                (int) new LevenshteinDistance(Integer.MAX_VALUE).apply("hello", "hallo"));
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDistance_NullStringInt() throws Exception {
-        UNLIMITED_DISTANCE.apply(null, "a");
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGetLevenshteinDistance_StringNullInt() throws Exception {
-        UNLIMITED_DISTANCE.apply("a", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testConstructorWithNegativeThreshold() throws Exception {
-        new LevenshteinDistance(-1);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/commons-text/blob/165c8e60/src/test/java/org/apache/commons/text/similarity/LongestCommonSubsequenceDistanceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/text/similarity/LongestCommonSubsequenceDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/LongestCommonSubsequenceDistanceTest.java
deleted file mode 100644
index 5d4b4b8..0000000
--- a/src/test/java/org/apache/commons/text/similarity/LongestCommonSubsequenceDistanceTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.text.similarity;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.commons.text.beta.similarity.LongestCommonSubsequenceDistance;
-
-/**
- * Unit tests for {@link org.apache.commons.text.beta.similarity.LongestCommonSubsequenceDistance}.
- */
-public class LongestCommonSubsequenceDistanceTest {
-
-    private static LongestCommonSubsequenceDistance subject;
-    
-    @BeforeClass
-    public static void setup() {
-        subject = new LongestCommonSubsequenceDistance();
-    }
-
-    @Test
-    public void testGettingLogestCommonSubsequenceDistacne() {
-        assertEquals(Integer.valueOf(0), subject.apply("", ""));
-        assertEquals(Integer.valueOf(4), subject.apply("left", ""));
-        assertEquals(Integer.valueOf(5), subject.apply("", "right"));
-        assertEquals(Integer.valueOf(1), subject.apply("frog", "fog"));
-        assertEquals(Integer.valueOf(6), subject.apply("fly", "ant"));
-        assertEquals(Integer.valueOf(11), subject.apply("elephant", "hippo"));
-        assertEquals(Integer.valueOf(7), subject.apply("ABC Corporation", "ABC Corp"));
-        assertEquals(Integer.valueOf(4), subject.apply("D N H Enterprises Inc", "D & H Enterprises, Inc."));
-        assertEquals(Integer.valueOf(9), subject.apply("My Gym Children's Fitness Center", "My Gym. Childrens Fitness"));
-        assertEquals(Integer.valueOf(3), subject.apply("PENNSYLVANIA", "PENNCISYLVNIA"));
-        assertEquals(Integer.valueOf(7), subject.apply("left", "right"));
-        assertEquals(Integer.valueOf(9), subject.apply("leettteft", "ritttght"));
-        assertEquals(Integer.valueOf(0), subject.apply("the same string", "the same string"));
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingLongestCommonSubsequenceDistanceNullNull() throws Exception {
-        subject.apply(null, null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingLongestCommonSubsequenceDistanceStringNull() throws Exception {
-        subject.apply(" ", null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testGettingLongestCommonSubsequenceDistanceNullString() throws Exception {
-        subject.apply(null, "right");
-    }
-
-}


Mime
View raw message