From 2d9cd7ab8fccd3470e07618f09293cc4d9ca4451 Mon Sep 17 00:00:00 2001 From: Rahul Bajaj Date: Thu, 17 May 2018 16:55:16 +0530 Subject: [PATCH] Add tests for fibonacci series --- .../fibonacci sequece/fibonacci.rb | 7 +++++ .../fibonacci sequece/test_fibonacci.rb | 29 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 Test Driven Development in Ruby/fibonacci sequece/fibonacci.rb create mode 100644 Test Driven Development in Ruby/fibonacci sequece/test_fibonacci.rb 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