BAEL-3191 - review changes

This commit is contained in:
Anshul Bansal 2019-09-22 22:26:47 +03:00
parent dd5a432614
commit b7368cb6db
3 changed files with 14 additions and 11 deletions

View File

@ -10,8 +10,8 @@ class BaeldungCategory {
return capitalizedStr
}
public static Number square(Number self) {
return self*self;
public static double toThePower(Number self, Number exponent) {
return Math.pow(self, exponent);
}
}

View File

@ -4,13 +4,14 @@ import groovy.lang.Category
@Category(Number)
class NumberCategory {
public Number cube() {
return this*this*this
}
public Number toThePower(Number exponent) {
return Math.pow(this, exponent)
public int divideWithRoundUp(BigDecimal divisor, boolean isRoundUp) {
def mathRound = isRoundUp ? BigDecimal.ROUND_UP : BigDecimal.ROUND_DOWN
return (int)new BigDecimal(this).divide(divisor, 0, mathRound)
}
}

View File

@ -82,17 +82,19 @@ class CategoryUnitTest extends GroovyTestCase {
}
}
void test_whenUsingBaeldungCategory_thenSquareNumber() {
void test_whenUsingBaeldungCategory_thenOperationsOnNumber() {
use (BaeldungCategory) {
assert 50.square() == 2500
assert 20.01.square() == 400.4001
assert 50.toThePower(2) == 2500
assert 2.4.toThePower(4) == 33.1776
}
}
void test_whenUsingNumberUtils_thenCubeNumber() {
void test_whenUsingNumberCategory_thenOperationsOnNumber() {
use (NumberCategory) {
assert 3.cube() == 27
assert 2.4.toThePower(4) == 33.1776
assert 25.divideWithRoundUp(6, true) == 5
assert 120.23.divideWithRoundUp(6.1, true) == 20
assert 150.9.divideWithRoundUp(12.1, false) == 12
}
}