Add tests for factorial example. (#112)
This commit is contained in:
committed by
Aditya Bhargava
parent
4c3bc702f4
commit
184f80127c
21
03_recursion/java/03_factorial/src/Factorial2.java
Normal file
21
03_recursion/java/03_factorial/src/Factorial2.java
Normal file
@@ -0,0 +1,21 @@
|
||||
public class Factorial2 {
|
||||
public static void main(String[] args) {
|
||||
Factorial2 factorial2 = new Factorial2();
|
||||
System.out.println("The factorial of 5 is " + factorial2.getFactorial(5));
|
||||
}
|
||||
|
||||
public int getFactorial(int number) {
|
||||
if (isZeroOrOne(number)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return number * getFactorial(number - 1);
|
||||
}
|
||||
|
||||
public boolean isZeroOrOne(int number) {
|
||||
if (number > 1) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
20
03_recursion/java/03_factorial/src/Factorial2Test.java
Normal file
20
03_recursion/java/03_factorial/src/Factorial2Test.java
Normal file
@@ -0,0 +1,20 @@
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class Factorial2Test {
|
||||
@Test
|
||||
public void testIsZeroOrOne() {
|
||||
Factorial2 factorial2 = new Factorial2();
|
||||
|
||||
Assert.assertEquals(true, factorial2.isZeroOrOne(0));
|
||||
Assert.assertEquals(true, factorial2.isZeroOrOne(1));
|
||||
Assert.assertEquals(false, factorial2.isZeroOrOne(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFactorial() {
|
||||
Factorial2 factorial2 = new Factorial2();
|
||||
|
||||
Assert.assertEquals(120, factorial2.getFactorial(5));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user