class SolidAssert::Assert
Actual assertions implementation
Public Instance Methods
assert(condition, message = nil)
click to toggle source
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
@param condition A condition to assert @param message An optional error message @raise {AssertionFailedError} when the condition is not satisfied
# File lib/solid_assert/assert.rb, line 19 def assert(condition, message = nil) fail SolidAssert::AssertionFailedError.new(message) if !condition end
invariant(message = nil) { || ... }
click to toggle source
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
@param message An optional error message @raise {AssertionFailedError} when the condition is not satisfied @yield A block of code
# File lib/solid_assert/assert.rb, line 43 def invariant(message = nil) assert yield, message end