Class: Assert::Suite
- Inherits:
-
Hash
- Object
- Hash
- Assert::Suite
- Defined in:
- lib/assert/suite.rb
Instance Attribute Summary collapse
-
#end_time ⇒ Object
A suite is a set of tests to run.
-
#start_time ⇒ Object
A suite is a set of tests to run.
Instance Method Summary collapse
- #<<(context_klass) ⇒ Object
- #contexts ⇒ Object
- #count(thing) ⇒ Object
- #ordered_results(klass = nil) ⇒ Object
- #ordered_tests(klass = nil) ⇒ Object
- #result_count(type = nil) ⇒ Object
- #run_time ⇒ Object
- #setup(&block) ⇒ Object
- #teardown(&block) ⇒ Object
- #test_count(klass = nil) ⇒ Object
- #tests ⇒ Object
Instance Attribute Details
#end_time ⇒ Object
A suite is a set of tests to run. When a test class subclasses the Context class, that test class is pushed to the suite.
9 10 11 |
# File 'lib/assert/suite.rb', line 9 def end_time @end_time end |
#start_time ⇒ Object
A suite is a set of tests to run. When a test class subclasses the Context class, that test class is pushed to the suite.
9 10 11 |
# File 'lib/assert/suite.rb', line 9 def start_time @start_time end |
Instance Method Details
#<<(context_klass) ⇒ Object
15 16 17 18 |
# File 'lib/assert/suite.rb', line 15 def <<(context_klass) # gsub off any trailing 'Test' self[context_klass] ||= [] end |
#contexts ⇒ Object
20 21 22 |
# File 'lib/assert/suite.rb', line 20 def contexts self.keys.sort{|a,b| a.to_s <=> b.to_s} end |
#count(thing) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/assert/suite.rb', line 52 def count(thing) case thing when :tests test_count when :results result_count when :passed, :pass result_count(:pass) when :failed, :fail result_count(:fail) when :ignored, :ignore result_count(:ignore) when :skipped, :skip result_count(:skip) when :errored, :error result_count(:error) else 0 end end |
#ordered_results(klass = nil) ⇒ Object
36 37 38 39 40 |
# File 'lib/assert/suite.rb', line 36 def ordered_results(klass=nil) ordered_tests(klass).inject([]) do |results, test| results += test.results end end |
#ordered_tests(klass = nil) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/assert/suite.rb', line 29 def ordered_tests(klass=nil) prep (klass.nil? ? self.contexts : [klass]).inject([]) do |tests, klass| tests += (self[klass] || []) end end |
#result_count(type = nil) ⇒ Object
47 48 49 50 |
# File 'lib/assert/suite.rb', line 47 def result_count(type=nil) prep count_results(self.values, type) end |
#run_time ⇒ Object
11 12 13 |
# File 'lib/assert/suite.rb', line 11 def run_time (@end_time || 0) - (@start_time || 0) end |
#setup(&block) ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/assert/suite.rb', line 73 def setup(&block) if block_given? self.setups << block else self.setups.each{|setup| setup.call} end end |
#teardown(&block) ⇒ Object
81 82 83 84 85 86 87 |
# File 'lib/assert/suite.rb', line 81 def teardown(&block) if block_given? self.teardowns << block else self.teardowns.reverse.each{|teardown| teardown.call} end end |
#test_count(klass = nil) ⇒ Object
42 43 44 45 |
# File 'lib/assert/suite.rb', line 42 def test_count(klass=nil) prep count_tests(klass.nil? ? self.values : [self[klass]]) end |
#tests ⇒ Object
24 25 26 27 |
# File 'lib/assert/suite.rb', line 24 def tests prep self.values.flatten end |