[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

running unit tests in graphical mode

Navya Amerineni

1/25/2006 5:15:00 AM

Hi,

I have the following program written and when I run It comes up saying zero tests.
what more should include in the code below for it to run in graphical mode.
Please Help


require 'test/unit/ui/tk/testrunner'
class Roman
MAX_ROMAN = 4999

def initialize(value)
if value <= 0 || value > MAX_ROMAN
fail "Roman values must be > 0 and <= #{MAX_ROMAN}"
end
@value = value
end
FACTORS = [["m", 1000], ["cm", 900], ["d", 500], ["cd", 400],
["c", 100], ["xc", 90], ["l", 50], ["xl", 40],
["x", 10],["ix" ,9], ["v", 5], ["iv", 4],
["i", 1]]

def to_s
value = @value
roman = "";
for code, factor in FACTORS
count, value = value.divmod(factor)
roman << (code * count)
end
roman
end
end
class TestRoman < Test::Unit::UI::Tk::TestRunner
def test_simple
assert_equal("i", Roman.new(1).to_s)
assert_equal("ix", Roman.new(9).to_s)
assert_equal("ii", Roman.new(2).to_s)
assert_equal("iii", Roman.new(3).to_s)
assert_equal("iv", Roman.new(4).to_s)
end
end


Thanks,
Navya.



---------------------------------
Do you Yahoo!?
With a free 1 GB, there's more in store with Yahoo! Mail.
1 Answer

Pit Capitain

1/25/2006 8:00:00 AM

0

Hi Navya,

you have to change two lines in your code:

> require 'test/unit/ui/tk/testrunner'

Change the preceding line to:

require 'test/unit'

> class TestRoman < Test::Unit::UI::Tk::TestRunner

Change that to:

class TestRoman < Test::Unit::TestCase

A TestRunner is the thing that is running all your tests, which should
be subclasses of Test::Unit::TestCase. To find out how to use another
TestRunner, run your script with the option -h:

ruby <yourscript.rb> -h

Regards,
Pit