Class: JiniTest::Test

Inherits:
Object
  • Object
show all
Defined in:
lib/jinitest.rb

Constant Summary collapse

@@runnables =
[]

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method_name, reporter) ⇒ Test

Returns a new instance of Test.



118
119
120
121
# File 'lib/jinitest.rb', line 118

def initialize(method_name, reporter)
  @method_name = method_name
  @reporter = reporter
end

Class Method Details

.inherited(klass) ⇒ Object



138
139
140
141
# File 'lib/jinitest.rb', line 138

def self.inherited(klass)
  self.runnables << klass
  super
end

.run(reporter) ⇒ Object



147
148
149
150
151
152
# File 'lib/jinitest.rb', line 147

def self.run(reporter)
  test_methods = self.runnable_methods
  test_methods.each do |method_name|
    JiniTest.run_method(self, method_name, reporter)
  end
end

.runnable_methodsObject



143
144
145
# File 'lib/jinitest.rb', line 143

def self.runnable_methods
  self.public_instance_methods(true).grep(/^test_/)
end

.runnablesObject



134
135
136
# File 'lib/jinitest.rb', line 134

def self.runnables
  @@runnables
end

.setup(&block) ⇒ Object



114
115
116
# File 'lib/jinitest.rb', line 114

def self.setup(&block)
  define_method(JiniTest::MAKE_SETUP, &block)
end

Instance Method Details

#assert(a, b) ⇒ Object

Raises:



127
128
129
130
131
132
# File 'lib/jinitest.rb', line 127

def assert(a, b)
  @reporter.inc_assertions
  result = a == b
  raise TestError.new(self.class) unless result
  result
end

#runObject



123
124
125
# File 'lib/jinitest.rb', line 123

def run
  self.send(@method_name)
end