Note: This is a class activity, nothing needs to be delivered.
Create a folder called singleton
. Inside this folder, create two files called: tigger.rb
and
tc_tigger.rb
.
You are given the following Ruby class that models the famous Tigger character from Winnie The Pooh:
# File: tigger.rb class Tigger def to_s return "I'm the only one!" end def roar 'Grrr!' end end
Convert this class into a singleton using whatever technique
you find fit. Place the resulting class in the
tigger.rb
source file.
Check your solution using the following test case (place the
test in the source file tc_tigger.rb
):
# File: tc_tigger.rb require 'test/unit' require 'tigger' class TiggerTest < Test::Unit::TestCase def test_tigger t = Tigger.instance assert_same(t, Tigger.instance) assert_raise(NoMethodError) do # "new" method should be private! Tigger.new end assert_equal("I'm the only one!", t.to_s) assert_equal('Grrr!', t.roar) end end