I'm new to Groovy but have some experience with Java, C and Python. I'd appreciate your feedback on Groovy style and features in this FizzBuzz code.Review ChecklistIs it idiomatic Groovy code?Can anything be taken away?Can it be more functional?Could I make use of any Groovy-specific features?FizzBuzzTest.groovyimport org.fizzbuzz.FizzBuzzimport org.junit.Beforeimport org.junit.Testclass FizzBuzzTest {    FizzBuzz fb    @Before    void setUp() {        fb = new FizzBuzz()    }    @Test    void testGiven1Returns1AsString() {        assert '1' == fb.toString(1)    }    @Test    void testGiven2Returns2AsString() {        assert '2' == fb.toString(2)    }    @Test    void testGiven3ReturnsFizz() {        assert 'Fizz' == fb.toString(3)    }    @Test    void testGiven5ReturnsBuzz() {        assert 'Buzz' == fb.toString(5)    }    @Test    void testGiven15ReturnsFizzBuzz() {        assert 'FizzBuzz' == fb.toString(15)    }}FizzBuzz.groovypackage org.fizzbuzzclass FizzBuzz {    String toString(number) {        if (isMultipleOf3(number) && isMultipleOf5(number))            return 'FizzBuzz'        if (isMultipleOf3(number))            return 'Fizz'        if (isMultipleOf5(number))            return 'Buzz'        number.toString()    }    private boolean isMultipleOf5(number) {        isMultipleOf.curry(5)(number)    }    private boolean isMultipleOf3(number) {        isMultipleOf.curry(3)(number)    }    private def isMultipleOf = { int multipleOf, number ->        number % multipleOf == 0    }    static void main(String... args) {        def fb = new FizzBuzz()        for (num in 1..100) {            println fb.toString(num)        }    }}
FizzBuzz in Groovy
fizzbuzz;groovy