diff --git a/src/main/java/com/ordestiny/tdd/fizzbuzz/FizzBuzz.java b/src/main/java/com/ordestiny/tdd/fizzbuzz/FizzBuzz.java new file mode 100644 index 0000000..86a2920 --- /dev/null +++ b/src/main/java/com/ordestiny/tdd/fizzbuzz/FizzBuzz.java @@ -0,0 +1,26 @@ +package com.ordestiny.tdd.fizzbuzz; + +public class FizzBuzz { + + public void printFizzBuzz(int numberIteration) { + for (int i = 1; i <= numberIteration; i++) { + System.out.println(fizzBuzz(i)); + } + } + + public String fizzBuzz(int i) { + boolean isFizz = i % 3 == 0; + boolean isBuzz = i % 5 == 0; + boolean isFizzBuzz = isFizz && isBuzz; + + if (isFizzBuzz) { + return "FizzBuzz"; + } else if (isFizz) { + return "Fizz"; + } else if (isBuzz) { + return "Buzz"; + } else { + return String.valueOf(i); + } + } +} diff --git a/src/test/java/com/ordestiny/tdd/fizzbuzz/FizzBuzzTest.java b/src/test/java/com/ordestiny/tdd/fizzbuzz/FizzBuzzTest.java new file mode 100644 index 0000000..7d4aac6 --- /dev/null +++ b/src/test/java/com/ordestiny/tdd/fizzbuzz/FizzBuzzTest.java @@ -0,0 +1,30 @@ +package com.ordestiny.tdd.fizzbuzz; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class FizzBuzzTest { + + FizzBuzz fizzBuzz = new FizzBuzz(); + + @Test + public void printFizzBuzz_given15Iterations_fizzBuzzIsCorrectlyPrinted() { + fizzBuzz.printFizzBuzz(100); + } + + @Test + public void fizzBuzz_givenMultipleOfThree_fizzReturned() { + assertEquals("Fizz", fizzBuzz.fizzBuzz(3)); + } + + @Test + public void fizzBuzz_givenMultipleOfFive_buzzReturned() { + assertEquals("Buzz", fizzBuzz.fizzBuzz(5)); + } + + @Test + public void fizzBuzz_givenMultipleOfThreeAndFive_fizzBuzzReturned() { + assertEquals("FizzBuzz", fizzBuzz.fizzBuzz(15)); + } +} \ No newline at end of file