http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/diff/ReplacementsFinderTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/diff/ReplacementsFinderTest.java b/src/test/java/org/apache/commons/text/beta/diff/ReplacementsFinderTest.java deleted file mode 100644 index f5a8277..0000000 --- a/src/test/java/org/apache/commons/text/beta/diff/ReplacementsFinderTest.java +++ /dev/null @@ -1,108 +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.beta.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.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/c7cf533d/src/test/java/org/apache/commons/text/beta/diff/StringsComparatorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/diff/StringsComparatorTest.java b/src/test/java/org/apache/commons/text/beta/diff/StringsComparatorTest.java deleted file mode 100644 index cb0fd3f..0000000 --- a/src/test/java/org/apache/commons/text/beta/diff/StringsComparatorTest.java +++ /dev/null @@ -1,126 +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.beta.diff; -import java.util.Arrays; -import java.util.List; - -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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/CosineDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/CosineDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/CosineDistanceTest.java deleted file mode 100644 index 65cb51a..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/CosineDistanceTest.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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -import java.math.BigDecimal; -import java.math.RoundingMode; - -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Unit tests for {@link 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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/FuzzyScoreTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/FuzzyScoreTest.java b/src/test/java/org/apache/commons/text/beta/similarity/FuzzyScoreTest.java deleted file mode 100644 index e1401ca..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/FuzzyScoreTest.java +++ /dev/null @@ -1,64 +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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -import java.util.Locale; - -import org.junit.Test; - -/** - * Unit tests for {@link 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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/HammingDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/HammingDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/HammingDistanceTest.java deleted file mode 100644 index d38981f..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/HammingDistanceTest.java +++ /dev/null @@ -1,58 +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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Unit tests for {@link 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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/JaccardDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/JaccardDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/JaccardDistanceTest.java deleted file mode 100644 index 6e74dc3..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/JaccardDistanceTest.java +++ /dev/null @@ -1,67 +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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Unit tests for {@link 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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/JaccardSimilarityTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/JaccardSimilarityTest.java b/src/test/java/org/apache/commons/text/beta/similarity/JaccardSimilarityTest.java deleted file mode 100644 index 8841cfe..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/JaccardSimilarityTest.java +++ /dev/null @@ -1,67 +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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Unit tests for {@link 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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/JaroWinklerDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/JaroWinklerDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/JaroWinklerDistanceTest.java deleted file mode 100644 index 2210426..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/JaroWinklerDistanceTest.java +++ /dev/null @@ -1,62 +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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDetailedDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDetailedDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDetailedDistanceTest.java deleted file mode 100644 index dc814bb..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDetailedDistanceTest.java +++ /dev/null @@ -1,402 +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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDistanceTest.java deleted file mode 100644 index cc69195..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/LevenshteinDistanceTest.java +++ /dev/null @@ -1,139 +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.beta.similarity; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -/** - * Unit tests for {@link 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/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceDistanceTest.java deleted file mode 100644 index 4de31bd..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceDistanceTest.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.beta.similarity; - -import org.junit.BeforeClass; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * Unit tests for {@link 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"); - } - -} http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceTest.java deleted file mode 100644 index 95c2d09..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/LongestCommonSubsequenceTest.java +++ /dev/null @@ -1,99 +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.beta.similarity; - -import org.junit.BeforeClass; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * Unit tests for {@link LongestCommonSubsequence}. - */ -public class LongestCommonSubsequenceTest { - - private static LongestCommonSubsequence subject; - - @BeforeClass - public static void setup() { - subject = new LongestCommonSubsequence(); - } - - @Test - public void testLongestCommonSubsequenceApply() { - assertEquals(Integer.valueOf(0), subject.apply("", "")); - assertEquals(Integer.valueOf(0), subject.apply("left", "")); - assertEquals(Integer.valueOf(0), subject.apply("", "right")); - assertEquals(Integer.valueOf(3), subject.apply("frog", "fog")); - assertEquals(Integer.valueOf(0), subject.apply("fly", "ant")); - assertEquals(Integer.valueOf(1), subject.apply("elephant", "hippo")); - assertEquals(Integer.valueOf(8), subject.apply("ABC Corporation", "ABC Corp")); - assertEquals(Integer.valueOf(20), subject.apply("D N H Enterprises Inc", "D & H Enterprises, Inc.")); - assertEquals(Integer.valueOf(24), subject.apply("My Gym Children's Fitness Center", "My Gym. Childrens Fitness")); - assertEquals(Integer.valueOf(11), subject.apply("PENNSYLVANIA", "PENNCISYLVNIA")); - assertEquals(Integer.valueOf(1), subject.apply("left", "right")); - assertEquals(Integer.valueOf(4), subject.apply("leettteft", "ritttght")); - assertEquals(Integer.valueOf(15), subject.apply("the same string", "the same string")); - } - - @Test(expected = IllegalArgumentException.class) - public void testGettingLongestCommonSubsequenceApplyNullNull() throws Exception { - subject.apply(null, null); - } - - @Test(expected = IllegalArgumentException.class) - public void testGettingLongestCommonSubsequenceApplyStringNull() throws Exception { - subject.apply(" ", null); - } - - @Test(expected = IllegalArgumentException.class) - public void testGettingLongestCommonSubsequenceApplyNullString() throws Exception { - subject.apply(null, "right"); - } - - @Test - public void testLongestCommonSubsequence() { - assertEquals("", subject.logestCommonSubsequence("", "")); - assertEquals("", subject.logestCommonSubsequence("left", "")); - assertEquals("", subject.logestCommonSubsequence("", "right")); - assertEquals("fog", subject.logestCommonSubsequence("frog", "fog")); - assertEquals("", subject.logestCommonSubsequence("fly", "ant")); - assertEquals("h", subject.logestCommonSubsequence("elephant", "hippo")); - assertEquals("ABC Corp", subject.logestCommonSubsequence("ABC Corporation", "ABC Corp")); - assertEquals("D H Enterprises Inc", subject.logestCommonSubsequence("D N H Enterprises Inc", "D & H Enterprises, Inc.")); - assertEquals("My Gym Childrens Fitness", subject.logestCommonSubsequence("My Gym Children's Fitness Center", "My Gym. Childrens Fitness")); - assertEquals("PENNSYLVNIA", subject.logestCommonSubsequence("PENNSYLVANIA", "PENNCISYLVNIA")); - assertEquals("t", subject.logestCommonSubsequence("left", "right")); - assertEquals("tttt", subject.logestCommonSubsequence("leettteft", "ritttght")); - assertEquals("the same string", subject.logestCommonSubsequence("the same string", "the same string")); - } - - @Test(expected = IllegalArgumentException.class) - public void testGettingLongestCommonSubsequenceNullNull() throws Exception { - subject.logestCommonSubsequence(null, null); - } - - @Test(expected = IllegalArgumentException.class) - public void testGettingLongestCommonSubsequenceStringNull() throws Exception { - subject.logestCommonSubsequence(" ", null); - } - - @Test(expected = IllegalArgumentException.class) - public void testGettingLongestCommonSubsequenceNullString() throws Exception { - subject.logestCommonSubsequence(null, "right"); - } -} http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedEditDistanceFromTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedEditDistanceFromTest.java b/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedEditDistanceFromTest.java deleted file mode 100644 index 0d080ba..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedEditDistanceFromTest.java +++ /dev/null @@ -1,90 +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.beta.similarity; - -import static org.hamcrest.core.IsEqual.equalTo; -import static org.junit.Assert.assertThat; - -import java.util.Arrays; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - -/** - * Unit tests for {@link EditDistanceFrom}. - * - * @param <R> The {@link EditDistance} return type. - */ -@RunWith(Parameterized.class) -public class ParameterizedEditDistanceFromTest<R> { - - private final EditDistance<R> editDistance; - private final CharSequence left; - private final CharSequence right; - private final R distance; - - public ParameterizedEditDistanceFromTest( - final EditDistance<R> editDistance, - final CharSequence left, final CharSequence right, - final R distance) { - - this.editDistance = editDistance; - this.left = left; - this.right = right; - this.distance = distance; - } - - @Parameters - public static Iterable<Object[]> parameters() { - return Arrays.asList( new Object[][] { - - { new HammingDistance(), "Sam I am.", "Ham I am.", 1 }, - { new HammingDistance(), "Japtheth, Ham, Shem", "Japtheth, HAM, Shem", 2 }, - { new HammingDistance(), "Hamming", "Hamming", 0 }, - - { new LevenshteinDistance(), "Apache", "a patchy", 4 }, - { new LevenshteinDistance(), "go", "no go", 3 }, - { new LevenshteinDistance(), "go", "go", 0 }, - - { new LevenshteinDistance(4), "Apache", "a patchy", 4 }, - { new LevenshteinDistance(4), "go", "no go", 3 }, - { new LevenshteinDistance(0), "go", "go", 0 }, - - { - new EditDistance<Boolean>() { - @Override - public Boolean apply(final CharSequence left, final CharSequence right) { - return left == right || (left != null && left.equals(right)); - } - }, - "Bob's your uncle.", - "Every good boy does fine.", - false - } - - } ); - } - - @Test - public void test() { - final EditDistanceFrom<R> editDistanceFrom = new EditDistanceFrom<>(editDistance, left); - assertThat(editDistanceFrom.apply(right), equalTo(distance)); - } - -} http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedLevenshteinDistanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedLevenshteinDistanceTest.java b/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedLevenshteinDistanceTest.java deleted file mode 100644 index 69a062a..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedLevenshteinDistanceTest.java +++ /dev/null @@ -1,125 +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.beta.similarity; - -import static org.hamcrest.core.IsEqual.equalTo; -import static org.junit.Assert.assertThat; - -import java.util.Arrays; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - -/** - * Unit tests for {@link LevenshteinDistance}. - */ -@RunWith(Parameterized.class) -public class ParameterizedLevenshteinDistanceTest { - - private final Integer distance; - private final CharSequence left; - private final CharSequence right; - private final Integer threshold; - - public ParameterizedLevenshteinDistanceTest( - final Integer threshold, - final CharSequence left, final CharSequence right, - final Integer distance) { - - this.threshold = threshold; - this.left = left; - this.right = right; - this.distance = distance; - } - - @Parameters - public static Iterable<Object[]> parameters() { - return Arrays.asList( new Object[][] { - - /* empty strings */ - { 0, "", "", 0 }, - { 8, "aaapppp", "", 7 }, - { 7, "aaapppp", "", 7 }, - { 6, "aaapppp", "", -1 }, - - /* unequal strings, zero threshold */ - { 0, "b", "a", -1 }, - { 0, "a", "b", -1 }, - - /* equal strings */ - { 0, "aa", "aa", 0 }, - { 2, "aa", "aa", 0 }, - - /* same length */ - { 2, "aaa", "bbb", -1 }, - { 3, "aaa", "bbb", 3 }, - - /* big stripe */ - { 10, "aaaaaa", "b", 6 }, - - /* distance less than threshold */ - { 8, "aaapppp", "b", 7 }, - { 4, "a", "bbb", 3 }, - - /* distance equal to threshold */ - { 7, "aaapppp", "b", 7 }, - { 3, "a", "bbb", 3 }, - - /* distance greater than threshold */ - { 2, "a", "bbb", -1 }, - { 2, "bbb", "a", -1 }, - { 6, "aaapppp", "b", -1 }, - - /* stripe runs off array, strings not similar */ - { 1, "a", "bbb", -1 }, - { 1, "bbb", "a", -1 }, - - /* stripe runs off array, strings are similar */ - { 1, "12345", "1234567", -1 }, - { 1, "1234567", "12345", -1 }, - - /* old getLevenshteinDistance test cases */ - { 1, "frog", "fog", 1 }, - { 3, "fly", "ant", 3 }, - { 7, "elephant", "hippo", 7 }, - { 6, "elephant", "hippo", -1 }, - { 7, "hippo", "elephant", 7 }, - { 6, "hippo", "elephant", -1 }, - { 8, "hippo", "zzzzzzzz", 8 }, - { 8, "zzzzzzzz", "hippo", 8 }, - { 1, "hello", "hallo", 1 }, - - { Integer.MAX_VALUE, "frog", "fog", 1 }, - { Integer.MAX_VALUE, "fly", "ant", 3 }, - { Integer.MAX_VALUE, "elephant", "hippo", 7 }, - { Integer.MAX_VALUE, "hippo", "elephant", 7 }, - { Integer.MAX_VALUE, "hippo", "zzzzzzzz", 8 }, - { Integer.MAX_VALUE, "zzzzzzzz", "hippo", 8 }, - { Integer.MAX_VALUE, "hello", "hallo", 1 } - - } ); - } - - @Test - public void test() { - final LevenshteinDistance metric = new LevenshteinDistance(threshold); - assertThat(metric.apply(left, right), equalTo(distance)); - } - -} http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedSimilarityScoreFromTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedSimilarityScoreFromTest.java b/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedSimilarityScoreFromTest.java deleted file mode 100644 index 810f1ee..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/ParameterizedSimilarityScoreFromTest.java +++ /dev/null @@ -1,81 +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.beta.similarity; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - -import java.util.Arrays; - -import static org.hamcrest.core.IsEqual.equalTo; -import static org.junit.Assert.assertThat; - -/** - * Unit tests for {@link SimilarityScoreFrom}. - * - * @param <R> The {@link SimilarityScore} return type. - */ -@RunWith(Parameterized.class) -public class ParameterizedSimilarityScoreFromTest<R> { - - private final SimilarityScore<R> similarityScore; - private final CharSequence left; - private final CharSequence right; - private final R distance; - - public ParameterizedSimilarityScoreFromTest( - final SimilarityScore<R> similarityScore, - final CharSequence left, final CharSequence right, - final R distance) { - - this.similarityScore = similarityScore; - this.left = left; - this.right = right; - this.distance = distance; - } - - @Parameters - public static Iterable<Object[]> parameters() { - return Arrays.asList( new Object[][] { - - { new JaroWinklerDistance(), "elephant", "hippo", 0.44 }, - { new JaroWinklerDistance(), "hippo", "elephant", 0.44 }, - { new JaroWinklerDistance(), "hippo", "zzzzzzzz", 0.0 }, - - { - new SimilarityScore<Boolean>() { - @Override - public Boolean apply(final CharSequence left, final CharSequence right) { - return left == right || (left != null && left.equals(right)); - } - }, - "Bob's your uncle.", - "Every good boy does fine.", - false - } - - } ); - } - - @Test - public void test() { - final SimilarityScoreFrom<R> similarityScoreFrom = new SimilarityScoreFrom<>(similarityScore, left); - assertThat(similarityScoreFrom.apply(right), equalTo(distance)); - } -} http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/similarity/StringMetricFromTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/similarity/StringMetricFromTest.java b/src/test/java/org/apache/commons/text/beta/similarity/StringMetricFromTest.java deleted file mode 100644 index f8f67da..0000000 --- a/src/test/java/org/apache/commons/text/beta/similarity/StringMetricFromTest.java +++ /dev/null @@ -1,66 +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.beta.similarity; - -import static org.hamcrest.core.IsEqual.equalTo; -import static org.junit.Assert.assertThat; - -import org.junit.Test; - -/** - * Unit tests for {@link EditDistanceFrom}. - */ -public class StringMetricFromTest { - - @Test - public void testEquivalence() { - final EditDistance<Integer> metric = new LevenshteinDistance(); - final String left = "Apache"; - final String right = "a patchy"; - final Integer distance = 4; - final EditDistanceFrom<Integer> metricFrom = new EditDistanceFrom<>(metric, left); - - assertThat(metricFrom.apply(right), equalTo(distance)); - assertThat(metricFrom.apply(right), equalTo(metric.apply(left, right))); - } - - @Test - public void testJavadocExample() { - final EditDistance<Integer> metric = new LevenshteinDistance(); - final String target = "Apache"; - final EditDistanceFrom<Integer> metricFrom = - new EditDistanceFrom<>(metric, target); - String mostSimilar = null; - Integer shortestDistance = null; - - for (final String test : new String[] { "Appaloosa", "a patchy", "apple" }) { - final Integer distance = metricFrom.apply(test); - if (shortestDistance == null || distance < shortestDistance) { - shortestDistance = distance; - mostSimilar = test; - } - } - assertThat(mostSimilar, equalTo("a patchy")); - assertThat(shortestDistance, equalTo(4)); - } - - @Test(expected = IllegalArgumentException.class) - public void testMissingMetric() { - new EditDistanceFrom<Number>(null, "no go"); - } - -} http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/translate/AggregateTranslatorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/translate/AggregateTranslatorTest.java b/src/test/java/org/apache/commons/text/beta/translate/AggregateTranslatorTest.java deleted file mode 100644 index cc63f5a..0000000 --- a/src/test/java/org/apache/commons/text/beta/translate/AggregateTranslatorTest.java +++ /dev/null @@ -1,66 +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.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 AggregateTranslator}. - */ -public class AggregateTranslatorTest { - - @Test - public void testNullConstructor() throws Exception { - final String testString = "foo"; - final AggregateTranslator subject = new AggregateTranslator((CharSequenceTranslator[]) null); - assertEquals(testString, subject.translate(testString)); - } - - @Test - public void testNullVarargConstructor() throws Exception { - final String testString = "foo"; - final AggregateTranslator subject = new AggregateTranslator((CharSequenceTranslator) null); - assertEquals(testString, subject.translate(testString)); - } - - @Test - public void testNonNull() throws IOException{ - final Map<CharSequence, CharSequence> oneTwoMap = new HashMap<>(); - oneTwoMap.put("one", "two"); - final Map<CharSequence, CharSequence> threeFourMap = new HashMap<>(); - threeFourMap.put("three", "four"); - final CharSequenceTranslator translator1 = new LookupTranslator(oneTwoMap); - final CharSequenceTranslator translator2 = new LookupTranslator(threeFourMap); - final AggregateTranslator subject = new AggregateTranslator(translator1, translator2); - final StringWriter out1 = new StringWriter(); - final int result1 = subject.translate(new StringBuffer("one"), 0, out1); - assertEquals("Incorrect codepoint consumption", 3, result1); - assertEquals("Incorrect value", "two", out1.toString()); - final StringWriter out2 = new StringWriter(); - final int result2 = subject.translate(new StringBuffer("three"), 0, out2); - assertEquals("Incorrect codepoint consumption", 5, result2); - assertEquals("Incorrect value", "four", out2.toString()); - } - -} http://git-wip-us.apache.org/repos/asf/commons-text/blob/c7cf533d/src/test/java/org/apache/commons/text/beta/translate/EntityArraysTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/beta/translate/EntityArraysTest.java b/src/test/java/org/apache/commons/text/beta/translate/EntityArraysTest.java deleted file mode 100644 index 38b796e..0000000 --- a/src/test/java/org/apache/commons/text/beta/translate/EntityArraysTest.java +++ /dev/null @@ -1,129 +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.beta.translate; - -import org.junit.Test; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.util.Map; - -import static org.junit.Assert.assertEquals; - -/** - * Unit tests for {@link EntityArrays}. - */ -public class EntityArraysTest { - - @Test - public void testConstructorExists() { - new EntityArrays(); - } - - // LANG-659, LANG-658 - avoid duplicate entries - @Test - public void testForDuplicatedDeclaredMapKeys() throws Exception { - String packageDirectory = EntityArraysTest.class.getPackage().getName().replace(".", "/"); - try (BufferedReader br = new BufferedReader(new FileReader("src/main/java/" + packageDirectory + "/EntityArrays.java"))) { - String line; - int mapDeclarationCounter = 0; - while ((line = br.readLine()) != null) { - //Start with map declaration and count put lines - if (line.contains("new HashMap<>();")) { - mapDeclarationCounter = 0; - } else if (line.contains(".put(")) { - mapDeclarationCounter++; - } else if (line.contains("Collections.unmodifiableMap(initialMap);")) { - String mapVariableName = line.split("=")[0].trim(); - @SuppressWarnings("unchecked") // This is test code - Map<String,String> mapValue = (Map<String, String>)EntityArrays.class.getDeclaredField(mapVariableName).get(EntityArrays.class); - // Validate that we are not inserting into the same key twice in the map declaration. If this, - // indeed was the case the keySet().size() would be smaller than the number of put() statements - assertEquals(mapDeclarationCounter, mapValue.keySet().size()); - } - } - } - } - - @Test - public void testForDuplicateDeclaredMapValuesISO8859Map() { - assertEquals(EntityArrays.ISO8859_1_ESCAPE.keySet().size(), - EntityArrays.ISO8859_1_UNESCAPE.keySet().size()); - } - - @Test - public void testISO8859Map() { - testEscapeVsUnescapeMaps(EntityArrays.ISO8859_1_ESCAPE, EntityArrays.ISO8859_1_UNESCAPE); - } - - @Test - public void testForDuplicateDeclaredMapValuesHtml40ExtendedMap() { - assertEquals(EntityArrays.HTML40_EXTENDED_ESCAPE.keySet().size(), - EntityArrays.HTML40_EXTENDED_UNESCAPE.keySet().size()); - } - - @Test - public void testHtml40ExtendedMap() { - testEscapeVsUnescapeMaps(EntityArrays.HTML40_EXTENDED_ESCAPE, EntityArrays.HTML40_EXTENDED_UNESCAPE); - } - - @Test - public void testForDuplicateDeclaredMapValuesAposMap() { - assertEquals(EntityArrays.APOS_ESCAPE.keySet().size(), - EntityArrays.APOS_UNESCAPE.keySet().size()); - } - - @Test - public void testAposMap() { - testEscapeVsUnescapeMaps(EntityArrays.APOS_ESCAPE, EntityArrays.APOS_UNESCAPE); - } - - @Test - public void testForDuplicateDeclaredMapValuesBasicMap() { - assertEquals(EntityArrays.BASIC_ESCAPE.keySet().size(), - EntityArrays.BASIC_UNESCAPE.keySet().size()); - } - - @Test - public void testBasicMap() { - testEscapeVsUnescapeMaps(EntityArrays.BASIC_ESCAPE, EntityArrays.BASIC_UNESCAPE); - } - - @Test - public void testForDuplicateDeclaredMapValuesJavaCtrlCharsMap() { - assertEquals(EntityArrays.JAVA_CTRL_CHARS_ESCAPE.keySet().size(), - EntityArrays.JAVA_CTRL_CHARS_UNESCAPE.keySet().size()); - } - - @Test - public void testJavaCntrlCharsMap() { - testEscapeVsUnescapeMaps(EntityArrays.JAVA_CTRL_CHARS_ESCAPE, EntityArrays.JAVA_CTRL_CHARS_UNESCAPE); - } - - private void testEscapeVsUnescapeMaps(final Map<CharSequence, CharSequence> escapeMap, - final Map<CharSequence, CharSequence> unescapeMap) { - for (final CharSequence escapeKey : escapeMap.keySet()) { - for (final CharSequence unescapeKey : unescapeMap.keySet()) { - if (escapeKey == unescapeMap.get(unescapeKey)) { - assertEquals(escapeMap.get(escapeKey), unescapeKey); - } - } - } - } - -}