|
6 | 6 |
|
7 | 7 | import org.junit.Test; |
8 | 8 |
|
| 9 | +import java.util.function.Function; |
| 10 | + |
9 | 11 | public class FibonacciTest { |
10 | 12 |
|
11 | 13 | @Test |
12 | | - public void get() { |
13 | | - assertThat("Expected F(2) = 1", Fibonacci.get(2), is(1L)); |
14 | | - assertThat("Expected F(4) = 3", Fibonacci.get(4), is(3L)); |
15 | | - assertThat("Expected F(1) = 1", Fibonacci.get(1), is(1L)); |
16 | | - assertThat("Expected F(8) = 21", Fibonacci.get(8), is(21L)); |
17 | | - assertThat("Expected F(9) = 34", Fibonacci.get(9), is(34L)); |
18 | | - assertThat("Expected F(3) = 2", Fibonacci.get(3), is(2L)); |
19 | | - assertThat("Expected F(7) = 13", Fibonacci.get(7), is(13L)); |
20 | | - assertThat("Expected F(10) = 55", Fibonacci.get(10), is(55L)); |
21 | | - assertThat("Expected F(6) = 8", Fibonacci.get(6), is(8L)); |
22 | | - assertThat("Expected F(5) = 5", Fibonacci.get(5), is(5L)); |
| 14 | + public void calculate() { |
| 15 | + assertThat("Expected F(2) = 1", Fibonacci.calculate(2), is(1L)); |
| 16 | + assertThat("Expected F(4) = 3", Fibonacci.calculate(4), is(3L)); |
| 17 | + assertThat("Expected F(1) = 1", Fibonacci.calculate(1), is(1L)); |
| 18 | + assertThat("Expected F(0) = 0", Fibonacci.calculate(0), is(0L)); |
| 19 | + assertThat("Expected F(8) = 21", Fibonacci.calculate(8), is(21L)); |
| 20 | + assertThat("Expected F(9) = 34", Fibonacci.calculate(9), is(34L)); |
| 21 | + assertThat("Expected F(3) = 2", Fibonacci.calculate(3), is(2L)); |
| 22 | + assertThat("Expected F(7) = 13", Fibonacci.calculate(7), is(13L)); |
| 23 | + assertThat("Expected F(10) = 55", Fibonacci.calculate(10), is(55L)); |
| 24 | + assertThat("Expected F(6) = 8", Fibonacci.calculate(6), is(8L)); |
| 25 | + assertThat("Expected F(5) = 5", Fibonacci.calculate(5), is(5L)); |
| 26 | + } |
| 27 | + |
| 28 | + @Test |
| 29 | + public void calculate2() { |
| 30 | + assertThat("Expected F(2) = 1", Fibonacci.calculate2(2), is(1L)); |
| 31 | + assertThat("Expected F(4) = 3", Fibonacci.calculate2(4), is(3L)); |
| 32 | + assertThat("Expected F(1) = 1", Fibonacci.calculate2(1), is(1L)); |
| 33 | + assertThat("Expected F(0) = 0", Fibonacci.calculate2(0), is(0L)); |
| 34 | + assertThat("Expected F(8) = 21", Fibonacci.calculate2(8), is(21L)); |
| 35 | + assertThat("Expected F(9) = 34", Fibonacci.calculate2(9), is(34L)); |
| 36 | + assertThat("Expected F(3) = 2", Fibonacci.calculate2(3), is(2L)); |
| 37 | + assertThat("Expected F(7) = 13", Fibonacci.calculate2(7), is(13L)); |
| 38 | + assertThat("Expected F(10) = 55", Fibonacci.calculate2(10), is(55L)); |
| 39 | + assertThat("Expected F(6) = 8", Fibonacci.calculate2(6), is(8L)); |
| 40 | + assertThat("Expected F(5) = 5", Fibonacci.calculate2(5), is(5L)); |
| 41 | + } |
| 42 | + |
| 43 | + @Test |
| 44 | + public void calculateForWrongParam() { |
| 45 | + checkIsExceptionThrown(Fibonacci::calculate, -1); |
| 46 | + checkIsExceptionThrown(Fibonacci::calculate, -10); |
23 | 47 | } |
24 | 48 |
|
25 | 49 | @Test |
26 | | - public void getForWrongParam() { |
27 | | - checkIsExceptionThrown(0); |
28 | | - checkIsExceptionThrown(-1); |
29 | | - checkIsExceptionThrown(-10); |
| 50 | + public void calculate2ForWrongParam() { |
| 51 | + checkIsExceptionThrown(Fibonacci::calculate2, -1); |
| 52 | + checkIsExceptionThrown(Fibonacci::calculate2, -10); |
30 | 53 | } |
31 | 54 |
|
32 | | - private void checkIsExceptionThrown(int n) { |
| 55 | + private void checkIsExceptionThrown(Function<Integer, Long> function, int n) { |
33 | 56 | try { |
34 | | - Fibonacci.get(n); |
| 57 | + function.apply(n); |
35 | 58 | fail("Exception should be thrown"); |
36 | 59 | } catch (IllegalArgumentException iae) { |
37 | | - assertThat("Wrong message", iae.getMessage(), is("Number should be greater than 0!")); |
| 60 | + assertThat("Wrong message", iae.getMessage(), is("Number should be not less than 0!")); |
38 | 61 | } |
39 | 62 | } |
40 | 63 | } |
0 commit comments