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:

1begin
2 gem 'minitest', '>= 5.0.0'
3 require 'minitest/autorun'
4 require_relative 'fizz_buzz'
5rescue Gem::LoadError => e
6 puts "\nMissing Dependency:\n#{e.backtrace.first} #{e.message}"
7 puts 'Minitest 5.0 gem must be installed for the Ruby track.'
8rescue LoadError => e
9 puts "\nError:\n#{e.backtrace.first} #{e.message}"
10 puts DATA.read
11 exit 1
12end
13
14# Common test data version: 1.1.0 be3ae66
15class FizzBuzzTest < Minitest::Test
16 def test_fizz
17 # skip
18 assert_equal "Fizz", FizzBuzz.run(3)
19 end
20
21 def test_buzz
22 # skip
23 assert_equal "Buzz", FizzBuzz.run(5)
24 end
25
26 def test_fizzbuzz
27 # skip
28 assert_equal "FizzBuzz", FizzBuzz.run(15)
29 end
30
31 def test_return_int
32 # skip
33 assert_equal 2, FizzBuzz.run(2)
34 end
35end
36
37__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.

Personal image

Dennis O'Keeffe

Byron Bay, Australia

Share this post

Recommended articles

Dennis O'Keeffe

2020-present Dennis O'Keeffe.

All Rights Reserved.