Ruby Fizzbuzz
Published: Jul 19, 2018
Last updated: Jul 19, 2018
This requires the gem installation of minitest
.
Test file
Create file fizz_buzz_test.rb
:
1begin2 gem 'minitest', '>= 5.0.0'3 require 'minitest/autorun'4 require_relative 'fizz_buzz'5rescue Gem::LoadError => e6 puts "\nMissing Dependency:\n#{e.backtrace.first} #{e.message}"7 puts 'Minitest 5.0 gem must be installed for the Ruby track.'8rescue LoadError => e9 puts "\nError:\n#{e.backtrace.first} #{e.message}"10 puts DATA.read11 exit 112end1314# Common test data version: 1.1.0 be3ae6615class FizzBuzzTest < Minitest::Test16 def test_fizz17 # skip18 assert_equal "Fizz", FizzBuzz.run(3)19 end2021 def test_buzz22 # skip23 assert_equal "Buzz", FizzBuzz.run(5)24 end2526 def test_fizzbuzz27 # skip28 assert_equal "FizzBuzz", FizzBuzz.run(15)29 end3031 def test_return_int32 # skip33 assert_equal 2, FizzBuzz.run(2)34 end35end3637__END__
FizzBuzz
Create file fizz_buzz.rb
:
class FizzBuzz def self.run(arg) case true when arg % 3 == 0 && arg % 5 == 0 return "FizzBuzz" when arg % 3 == 0 return "Fizz" when arg % 5 == 0 return "Buzz" else return arg end end end
Testing
Change into directory and run ruby fizz_buzz_test.rb
.
Ruby Fizzbuzz
Test file