Class: StupidTest::Test
- Inherits:
-
Object
- Object
- StupidTest::Test
- Defined in:
- lib/stupid_test.rb
Class Method Summary collapse
Instance Method Summary collapse
- #assert(value, message = nil) ⇒ Object
- #assert_equal(expected, actual) ⇒ Object
- #errors ⇒ Object
- #refute(value, message = nil) ⇒ Object
- #run ⇒ Object
- #test_methods ⇒ Object
- #test_methods_count ⇒ Object
Class Method Details
.inherited(klass) ⇒ Object
27 28 29 |
# File 'lib/stupid_test.rb', line 27 def inherited(klass) tests << klass.new end |
.run ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/stupid_test.rb', line 31 def run tests.each &:run puts errors = tests.flat_map(&:errors) methods_count = tests.map(&:test_methods_count).inject &:+ if errors.any? puts "\n#{errors.count}/#{methods_count} Tests failed:\n"\ "\n#{errors.join("\n\n")}".pink end end |
.tests ⇒ Object
23 24 25 |
# File 'lib/stupid_test.rb', line 23 def tests @tests ||= [] end |
Instance Method Details
#assert(value, message = nil) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/stupid_test.rb', line 71 def assert(value, = nil) if value print_success else location = caller[0] location = caller[1] if location.include? 'refute' report Error.new( :expected => value, :actual => !value, :location => location, :message => ) end end |
#assert_equal(expected, actual) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/stupid_test.rb', line 59 def assert_equal(expected, actual) if expected == actual print_success else report Error.new( :expected => expected, :actual => actual, :location => caller[0] ) end end |
#errors ⇒ Object
43 44 45 |
# File 'lib/stupid_test.rb', line 43 def errors @errors ||= [] end |
#refute(value, message = nil) ⇒ Object
86 87 88 |
# File 'lib/stupid_test.rb', line 86 def refute(value, = nil) assert !value, end |
#run ⇒ Object
47 48 49 |
# File 'lib/stupid_test.rb', line 47 def run test_methods.each { |m| send m } end |
#test_methods ⇒ Object
51 52 53 |
# File 'lib/stupid_test.rb', line 51 def test_methods self.class.public_instance_methods(false) end |
#test_methods_count ⇒ Object
55 56 57 |
# File 'lib/stupid_test.rb', line 55 def test_methods_count test_methods.count end |