diff --git a/Test Driven Development in Ruby/fibonacci sequece/fibonacci.rb b/Test Driven Development in Ruby/fibonacci sequece/fibonacci.rb new file mode 100644 index 0000000..dc27421 --- /dev/null +++ b/Test Driven Development in Ruby/fibonacci sequece/fibonacci.rb @@ -0,0 +1,7 @@ +class Fibonacci + def self.of(n) + return 0 if n == 0 + return 1 if n <= 2 + return of(n - 1) + of(n - 2) + end +end \ No newline at end of file diff --git a/Test Driven Development in Ruby/fibonacci sequece/test_fibonacci.rb b/Test Driven Development in Ruby/fibonacci sequece/test_fibonacci.rb new file mode 100644 index 0000000..5052641 --- /dev/null +++ b/Test Driven Development in Ruby/fibonacci sequece/test_fibonacci.rb @@ -0,0 +1,29 @@ +require 'minitest/autorun' +require_relative 'fibonacci' + +class TestFibonacci < Minitest::Test + def test_fibonacci_of_zero_is_zero + result = Fibonacci.of(0) + assert_equal 0, result + end + + def test_fibonacci_of_one_is_one + result = Fibonacci.of(1) + assert_equal 1, result + end + + def test_fibonacci_of_two_is_one + result = Fibonacci.of(2) + assert_equal 1, result + end + + def test_fibonacci_of_three_is_two + result = Fibonacci.of(3) + assert_equal 2, result + end + + def test_fibonacci_of_ten_is_fifty_five + result = Fibonacci.of(10) + assert_equal 55, result + end +end