Testing a singleton method

Trying to pass a unit test;

def test_singleton_method
string1 = “hello”
string2 = “world”

assert string1.respond_to?(:only_one)
assert !string2.respond_to?(:only_one)

end

====

my code to pass it:

string1 = “hello”
string2 = “world”

def string1.only_one
puts “PLEASE WORK”
end

===

yet, this doesn’t work, is there something I’m missing?

I’m not exactly sure what you are trying to test, but this works:

def test_singleton_method
string1 = “hello”
string2 = “world”
def string1.only_one
puts “PLEASE WORK”
end
assert string1.respond_to?(:only_one)
assert !string2.respond_to?(:only_one)
end

Could you post more context?

Chances are the singleton you think you’re testing is not the same
instance you actually are testing.

Julian.

Learn Ruby on Rails! Check out the FREE VIDS (for a limited time)
VIDEO #3 out NOW!
http://sensei.zenunit.com/