C12 Unit Test
目录结构如下
lib/
person.rb
test/
tc_person.rb
#person.rb
class OldAgeException < StandardError
def initialize(info)
super(info)
end
end
class Person
attr_reader :name, :age, :gender
attr_writer :name, :age, :gender
def initialize(name, age, gender)
@name = name
@age = age
@gender = gender
end
def to_s
"[Person Name: #@name -- Age: #@age -- Gender: #@gender]"
end
def male?
@gender == 'Male' || @gender == 'male'
end
def old?
@age > 80
end
def climb
if old?
raise OldAgeException.new("The age #@age is too old!!!")
end
"#{self} climbs"
end
end
#tc_person.rb
$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
require 'test/unit'
require 'person'
class TestPerson < Test::Unit::TestCase
def test_init
p = Person.new('AnkyHe', 27, 'Male')
assert_equal('AnkyHe', p.name)
assert_equal(27, p.age)
assert_equal('Male', p.gender)
end
def test_to_s
p = Person.new('AnkyHe', 27, 'Male')
assert_equal('[Person Name: AnkyHe -- Age: 27 -- Gender: Male]', p.to_s)
end
def test_male
p = Person.new('AnkyHe', 27, 'Male')
assert(p.male?)
p = Person.new('Xiaoli', 27, 'Female')
assert(!p.male?)
end
def test_old
p = Person.new('AnkyHe', 27, 'Male')
assert(!p.old?)
p = Person.new('Laoren', 81, 'Female')
assert(p.old?)
end
def test_climb
p = Person.new('AnkyHe', 27, 'Male')
assert_nothing_raised(){p.climb}
assert_equal('[Person Name: AnkyHe -- Age: 27 -- Gender: Male] climbs', p.climb)
p = Person.new('Laoren', 81, 'Female')
assert_raise(OldAgeException){p.climb}
end
end
分享到:
相关推荐
Programming Ruby 2nd Edition
学习ruby的绝佳入门书籍,Programming Ruby 2nd.pdf
Programming Ruby - The Pragmatic Programmer's Guide, 2nd Edition (2005) [annotated]
NULL 博文链接:https://huihuilou.iteye.com/blog/1997808
Programming Ruby 2nd Edition
上传一系列RUBY的书,基本上网上能见到的全了
Programming Ruby中文版第二版[高清扫描版][带书签]。 Programming.Ruby-2nd[高清文字版][带
Pragmatic Programmers - Programming Ruby(2nd Edition Syngress).rar
Programming Ruby 2.0 1.9 pdf
Programming Ruby, Ruby程序设计
Programming Ruby 1.9 (3rd edition)和源码
内含以下4个文档: 1、Addison.Wesley.The.Ruby.Way.2nd.Edition.Oct.2006.chm 2、O'Reilly.Learning.Ruby.May.2007.chm 3、Programming Ruby 2e.pdf 4、ruby中文文档.chm
Programming ruby.pdf 英文的,不过觉得读起来不吃力,习惯就好了,程序员如果不习惯读英文,会错过非常多的好书
对于初学C的人,这本书是很好的教材,但也有需要记录的学习经验
Programming Ruby 第二版(Second Edition)英文版于2005年出版,之后有了中文版。但可惜的是网上流传的中文版PDF基本上都是扫描版的,文字内容得自己打出来,看到好的代码也得自己动手,无法Ctrl-C + Ctrl-V,还...
Programming Ruby English version and the source Code
PROGRAMMING+RUBY中文版 PROGRAMMING+RUBY中文版 PROGRAMMING+RUBY中文版
Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf