running unit tests in graphical mode

N

Navya Amerineni

--0-2062298583-1138166088=:22788
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,

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


require 'test/unit/ui/tk/testrunner'
class Roman
MAX_ROMAN =3D 4999
=20
def initialize(value)
if value <=3D 0 || value > MAX_ROMAN
fail "Roman values must be > 0 and <=3D #{MAX_ROMAN}"
end
@value =3D value
end
FACTORS =3D [["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]]
=20
def to_s
value =3D @value
roman =3D "";
for code, factor in FACTORS
count, value =3D 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.


=09
 
P

Pit Capitain

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top