You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@opennlp.apache.org by "Koji Sekiguchi (JIRA)" <ji...@apache.org> on 2018/08/11 02:13:00 UTC
[jira] [Updated] (OPENNLP-1211) Improve WindowFeatureGeneratorTest
[ https://issues.apache.org/jira/browse/OPENNLP-1211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Koji Sekiguchi updated OPENNLP-1211:
------------------------------------
Description:
I'd like to improve WindowFeatureGeneratorTest from the following perspective:
* testWindowSizeOne should check the contents of the returned features. It checks the length of the features only now
* most of test methods uses Assert.assertEquals(expected, actual) in opposite way for its arguments when checking the contents of the returned features
{code}
Assert.assertEquals(features.get(0), testSentence[testTokenIndex]);
{code}
should be
{code}
Assert.assertEquals(testSentence[testTokenIndex], features.get(0));
{code}
* Though I pointed out the arguments in assertEquals() above, I think we'd better use exact concrete string rather than expression such like testSentence[testTokenIndex] for the expected. And also, testForCorrectFeatures uses contains method when checking the contents of the returned features but I think we should avoid using contains when checking the items in a List, rather than writing like this:
{code}
Assert.assertTrue(features.contains(WindowFeatureGenerator.PREV_PREFIX + "2" +
testSentence[testTokenIndex - 2]));
Assert.assertTrue(features.contains(WindowFeatureGenerator.PREV_PREFIX + "1" +
testSentence[testTokenIndex - 1]));
Assert.assertTrue(features.contains(testSentence[testTokenIndex]));
Assert.assertTrue(features.contains(WindowFeatureGenerator.NEXT_PREFIX + "1" +
testSentence[testTokenIndex + 1]));
Assert.assertTrue(features.contains(WindowFeatureGenerator.NEXT_PREFIX + "2" +
testSentence[testTokenIndex + 2]));
{code}
but I'd like to rewrite them like this:
{code}
Assert.assertEquals("d",features.get(0));
Assert.assertEquals("p1c",features.get(1));
Assert.assertEquals("p2b",features.get(2));
Assert.assertEquals("n1e",features.get(3));
Assert.assertEquals("n2f",features.get(4));
{code}
The second form helps us to understand how WindowFeatureGenerator works and it's easier to read.
was:
I'd like to improve WindowFeatureGeneratorTest from the following perspective:
* testWindowSizeOne should check the contents of the returned features. It checks the length of the features only now
* most of test methods uses Assert.assertEquals(expected, actual) in opposite way for its arguments when checking the contents of the returned features
{code}
Assert.assertEquals(features.get(0), testSentence[testTokenIndex]);
{code}
should be
{code}
Assert.assertEquals(testSentence[testTokenIndex], features.get(0));
{code}
* Though I pointed out the arguments in assertEquals() above, I think we'd better use exact concrete string rather than expression such like testSentence[testTokenIndex] for the expected. And also, testForCorrectFeatures uses contains method when checking the contents of the returned features but I think we should avoid using contains when checking the items in a List, rather than writing like this:
{code}
Assert.assertTrue(features.contains(WindowFeatureGenerator.PREV_PREFIX + "2" +
testSentence[testTokenIndex - 2]));
Assert.assertTrue(features.contains(WindowFeatureGenerator.PREV_PREFIX + "1" +
testSentence[testTokenIndex - 1]));
Assert.assertTrue(features.contains(testSentence[testTokenIndex]));
Assert.assertTrue(features.contains(WindowFeatureGenerator.NEXT_PREFIX + "1" +
testSentence[testTokenIndex + 1]));
Assert.assertTrue(features.contains(WindowFeatureGenerator.NEXT_PREFIX + "2" +
testSentence[testTokenIndex + 2]));
{code}
but I'd like to rewrite them like this:
{code}
Assert.assertTrue("d",features.get(0));
Assert.assertTrue("p1c",features.get(1));
Assert.assertTrue("p2b",features.get(2));
Assert.assertTrue("n1e",features.get(3));
Assert.assertTrue("n2f",features.get(4));
{code}
The second form helps us to understand how WindowFeatureGenerator works and it's easier to read.
> Improve WindowFeatureGeneratorTest
> ----------------------------------
>
> Key: OPENNLP-1211
> URL: https://issues.apache.org/jira/browse/OPENNLP-1211
> Project: OpenNLP
> Issue Type: Test
> Components: Build, Packaging and Test
> Affects Versions: 1.9.0
> Reporter: Koji Sekiguchi
> Priority: Trivial
> Fix For: 1.9.1
>
>
> I'd like to improve WindowFeatureGeneratorTest from the following perspective:
> * testWindowSizeOne should check the contents of the returned features. It checks the length of the features only now
> * most of test methods uses Assert.assertEquals(expected, actual) in opposite way for its arguments when checking the contents of the returned features
> {code}
> Assert.assertEquals(features.get(0), testSentence[testTokenIndex]);
> {code}
> should be
> {code}
> Assert.assertEquals(testSentence[testTokenIndex], features.get(0));
> {code}
> * Though I pointed out the arguments in assertEquals() above, I think we'd better use exact concrete string rather than expression such like testSentence[testTokenIndex] for the expected. And also, testForCorrectFeatures uses contains method when checking the contents of the returned features but I think we should avoid using contains when checking the items in a List, rather than writing like this:
> {code}
> Assert.assertTrue(features.contains(WindowFeatureGenerator.PREV_PREFIX + "2" +
> testSentence[testTokenIndex - 2]));
> Assert.assertTrue(features.contains(WindowFeatureGenerator.PREV_PREFIX + "1" +
> testSentence[testTokenIndex - 1]));
> Assert.assertTrue(features.contains(testSentence[testTokenIndex]));
> Assert.assertTrue(features.contains(WindowFeatureGenerator.NEXT_PREFIX + "1" +
> testSentence[testTokenIndex + 1]));
> Assert.assertTrue(features.contains(WindowFeatureGenerator.NEXT_PREFIX + "2" +
> testSentence[testTokenIndex + 2]));
> {code}
> but I'd like to rewrite them like this:
> {code}
> Assert.assertEquals("d",features.get(0));
> Assert.assertEquals("p1c",features.get(1));
> Assert.assertEquals("p2b",features.get(2));
> Assert.assertEquals("n1e",features.get(3));
> Assert.assertEquals("n2f",features.get(4));
> {code}
> The second form helps us to understand how WindowFeatureGenerator works and it's easier to read.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)