import org.junit.Test;
|
|
import org.junit.Before;
|
|
import static org.junit.Assert.*;
|
|
|
|
import static org.hamcrest.MatcherAssert.assertThat;
|
|
import static org.hamcrest.CoreMatchers.*;
|
|
|
|
public class FiboTest {
|
|
@Test
|
|
public void correctlyGeneratesFirst10Numbers() {
|
|
Fibo f = new Fibo();
|
|
long[] expected = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34};
|
|
long[] actual = new long[10];
|
|
|
|
for (int i = 0; i < 10; i++) {
|
|
actual[i] = f.next();
|
|
}
|
|
|
|
assertThat(actual, equalTo(expected));
|
|
}
|
|
|
|
@Test
|
|
public void correctlyGeneratesFiftiethNumber() {
|
|
// note that the first number is counted as the 0th
|
|
Fibo f = new Fibo();
|
|
|
|
for (int i = 0; i < 50; i++) {
|
|
f.next();
|
|
}
|
|
|
|
assertThat(f.next(), equalTo(12586269025l));
|
|
}
|
|
}
|