diff --git a/src/main/java/io/zipcoder/Problem2.java b/src/main/java/io/zipcoder/Problem2.java index e0af6a0..5bbf306 100644 --- a/src/main/java/io/zipcoder/Problem2.java +++ b/src/main/java/io/zipcoder/Problem2.java @@ -1,4 +1,30 @@ package io.zipcoder; +import java.util.ArrayList; + public class Problem2 { + + public String fibon(int n) { + ArrayList arrayList = new ArrayList (); + arrayList.add(0); + arrayList.add(1); + + Integer lowerIndex = 0; + Integer higherIndex = 1; + Integer nextInt; + + do { + nextInt = arrayList.get(lowerIndex) + arrayList.get(higherIndex); + if (nextInt > n) { + break; + } + arrayList.add(nextInt); + lowerIndex++; + higherIndex++; + } while (true); + + return arrayList.toString(); + + } + } diff --git a/src/test/java/io/zipcoder/Problem2Test.java b/src/test/java/io/zipcoder/Problem2Test.java index fa9ffa5..b5c7de6 100644 --- a/src/test/java/io/zipcoder/Problem2Test.java +++ b/src/test/java/io/zipcoder/Problem2Test.java @@ -1,4 +1,19 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + public class Problem2Test { + Problem2 test = new Problem2(); + + @Test + public void fibonacciIterationTest(){ + String expected = "0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144"; + + String actual = test.fibon(150); + + Assert.assertEquals(expected,actual); + } + + }