Mega Code Archive

 
Categories / Ruby / Unit Test
 

Test case setup

require 'test/unit' class Person   attr_accessor :first_name, :last_name, :age   def initialize(first_name, last_name, age)     raise ArgumentError, "Invalid age: #{age}" unless age > 0     @first_name, @last_name, @age = first_name, last_name, age   end   def full_name     first_name + ' ' + last_name   end end class PersonTest < Test::Unit::TestCase   FIRST_NAME, LAST_NAME, AGE = 'J', 'Y', 25   def setup     @person = Person.new(FIRST_NAME, LAST_NAME, AGE)   end   def test_first_name     assert_equal FIRST_NAME, @person.first_name   end   def test_last_name     assert_equal LAST_NAME,  @person.last_name   end   def test_full_name     assert_equal FIRST_NAME + ' ' + LAST_NAME, @person.full_name   end   def test_age     assert_equal 25, @person.age     assert_raise(ArgumentError) { Person.new(FIRST_NAME, LAST_NAME, -4) }     assert_raise(ArgumentError) { Person.new(FIRST_NAME, LAST_NAME, 'four') }   end end def test_first_name   assert(FIRST_NAME == @person.first_name) end def assert_equal(expected, actual)   assert(expected == actual) end # $ ruby test/person_test.rb