samples/composition/src-test/api/FactorialTest.java
changeset 209 1c999569643b
parent 207 675393d7093a
child 210 acf2c31e22d4
     1.1 --- a/samples/composition/src-test/api/FactorialTest.java	Sat Jun 14 10:04:45 2008 +0200
     1.2 +++ b/samples/composition/src-test/api/FactorialTest.java	Sat Jun 14 10:04:51 2008 +0200
     1.3 @@ -38,4 +38,22 @@
     1.4      public void testFactorial5() {
     1.5          assertEquals(120, Factorial.factorial(5));
     1.6      }
     1.7 +
     1.8 +    /** Class showing inventive, non-expected use of 
     1.9 +     * Arithmetica methods to do multiplication instead of
    1.10 +     * addition.
    1.11 +     */
    1.12 +    //BEGIN: design.composition.arith.factorial
    1.13 +    public static final class Factorial extends Arithmetica {
    1.14 +        public static int factorial(int n) {
    1.15 +            return new Factorial().sumRange(1, n);
    1.16 +        }
    1.17 +        @Override
    1.18 +        public int sumTwo(int one, int second) {
    1.19 +            return one * second;
    1.20 +        }
    1.21 +    }
    1.22 +    //END: design.composition.arith.factorial
    1.23 +
    1.24 +    
    1.25  }