Class: SolidAssert::Assert
- Inherits:
-
Object
- Object
- SolidAssert::Assert
- Includes:
- Singleton
- Defined in:
- lib/solid_assert/assert.rb
Overview
Actual assertions implementation
Instance Method Summary collapse
-
#assert(condition, message = nil) ⇒ Object
Check if a condition is truthy and fail if it is not.
-
#invariant(message = nil) { ... } ⇒ Object
Let you #assert a block of code.
Instance Method Details
#assert(condition, message = nil) ⇒ Object
Check if a condition is truthy and fail if it is not.
Usage:
assert expr # raise SolidAssert::AssertionFailedError if expr is falsy
assert !list.empty?, "The list should not be empty" # optional error message
19 20 21 |
# File 'lib/solid_assert/assert.rb', line 19 def assert(condition, = nil) fail SolidAssert::AssertionFailedError.new() if !condition end |
#invariant(message = nil) { ... } ⇒ Object
Let you #assert a block of code.
It comes handy when your assertion requires more than one line of code. An assertion is performed on the result of the provided block evaluation.
Usage:
invariant do
some_number = 1
other_number = 2
some_number == other_number
end
invariant "Both numbers should be equal" do # optional error message
...
some_number == other_number
end
43 44 45 |
# File 'lib/solid_assert/assert.rb', line 43 def invariant( = nil) assert yield, end |