import static org.junit.jupiter.api.Assertions.*; import java.math.BigInteger; import org.junit.jupiter.api.Test; public class FibAgainTest { // @Test // void testGetFib40() { // BigInteger f = new BigInteger("102334155"); // assertEquals(f, FibAgain.getFib(40)); // } @Test void testFibonacciPisanoPeriodOptimized2() { assertEquals(3, FibAgain.getPisanoPeriodOptimized(2)); } @Test void testFibonacciPisanoPeriodOptimized3() { assertEquals(8, FibAgain.getPisanoPeriodOptimized(3)); } @Test void testFibonacciPisanoPeriod4() { assertEquals(6, FibAgain.getPisanoPeriodOptimized(4)); } @Test void testFibonacciPisanoPeriod5() { assertEquals(20, FibAgain.getPisanoPeriodOptimized(5)); } @Test void testFibonacciPisanoPeriod7() { assertEquals(16, FibAgain.getPisanoPeriodOptimized(7)); } @Test void testFibonacciPisanoPeriod10() { assertEquals(60, FibAgain.getPisanoPeriodOptimized(10)); } @Test void testFibonacciPisanoPeriod50() { assertEquals(300, FibAgain.getPisanoPeriodOptimized(50)); } @Test void testFibonacciPisanoPeriod100() { assertEquals(300, FibAgain.getPisanoPeriodOptimized(100)); } @Test void testFibonacciPisanoPeriod133() { assertEquals(144, FibAgain.getPisanoPeriodOptimized(133)); } @Test void testFibonacciPisanoPeriod98() { assertEquals(336, FibAgain.getPisanoPeriodOptimized(98)); } @Test void testFibonacciPisanoPeriod74() { assertEquals(228, FibAgain.getPisanoPeriodOptimized(74)); } @Test void testFibonacciPisanoPeriod62() { assertEquals(30, FibAgain.getPisanoPeriodOptimized(62)); } @Test void testFibonacciPisanoPeriod68() { assertEquals(36, FibAgain.getPisanoPeriodOptimized(68)); } @Test void testFibonacciPisanoPeriod71() { assertEquals(70, FibAgain.getPisanoPeriodOptimized(71)); } @Test void testFibonacciPisanoPeriod72() { assertEquals(24, FibAgain.getPisanoPeriodOptimized(72)); } @Test void testFibonacciPisanoPeriod73() { assertEquals(148, FibAgain.getPisanoPeriodOptimized(73)); } @Test void testFibonacciFibNModM2015_3() { assertEquals(1, FibAgain.getFibNModM(2015, 3)); } @Test void testFibonacciFibNModM239_1000() { assertEquals(161, FibAgain.getFibNModM(239, 1000)); } @Test void testFibonacciFibNModM2816213588_30524() { assertEquals(10249, FibAgain.getFibNModM(2816213588L, 30524)); } }