[ https://issues.apache.org/jira/browse/NUMBERS-100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16856651#comment-16856651 ]
Gilles commented on NUMBERS-100: -------------------------------- FTR, the most recent code for fraction utilities is inĀ [a branch|https://gitbox.apache.org/repos/asf?p=commons-numbers.git;a=shortlog;h=refs/heads/fraction-dev] not merged into "master" yet. > Code in file FractionTest.java is unsatisfactory > ------------------------------------------------ > > Key: NUMBERS-100 > URL: https://issues.apache.org/jira/browse/NUMBERS-100 > Project: Commons Numbers > Issue Type: Improvement > Components: fraction > Reporter: Heinrich Bohne > Priority: Trivial > Time Spent: 40m > Remaining Estimate: 0h > > The following characteristics of the file {{FractionTest.java}} can be > improved: > * The second-to-last try-catch-block in the method {{testAdd()}} is a > duplicate of the preceding try-catch-block and is therefore redundant. > * In the method {{testPow()}}, the conditions {{assertFraction(9, 49, > a.pow(2))}} and {{assertFraction(49, 9, a.pow(-2))}} are tested twice each > (once in the block after {{a}}'s declaration, and a second time in the block > after {{b}}'s declaration. This is probably a typo. > * The last two assertions in the method {{testGetReducedFraction()}} pass the > parameters to the method {{Assert.assertEquals(long, long)}} in the wrong > order (the expected value should go first). > * Several methods in this class contain a number of tests that use shared > local variables but are completely independent of each other because these > local variables get assigned new values at the beginning of a test. The fact > that the scope of these local variables encompasses all those independent > tests makes the code look more confusing than necessary. > * Except for the method {{testGoldenRatio()}}, the throwing of an exception > is tested with a construct involving the swallowing of an exception, rather > than an explicit syntax. > * The helper method {{assertFraction(int, int, Fraction)}} is neglected > throughout large sections of the class in favor of > {{Assert.assertEquals(long, long)}} pairs, increasing the amount of code > duplication. -- This message was sent by Atlassian JIRA (v7.6.3#76005)