Class: Riot::ExistsMacro

Inherits:
AssertionMacro show all
Defined in:
lib/riot/assertion_macros/exists.rb

Overview

Asserts that the result of the test is a non-nil value. This is useful in the case where you don’t want to translate the result of the test into a boolean value

asserts("test") { "foo" }.exists
should("test") { 123 }.exists
asserts("test") { "" }.exists
asserts("test") { nil }.exists # This would fail

You can also test for non-existince (being nil), but if you would better if you used the nil macro:

denies("test") { nil }.exists # would pass
asserts("test") { nil }.nil   # same thing

denies("test") { "foo" }.exists # would fail

Instance Attribute Summary

Attributes inherited from AssertionMacro

#file, #line

Instance Method Summary collapse

Methods inherited from AssertionMacro

default, #error, #expected_message, expects_exception!, #expects_exception?, #fail, #new_message, #pass, register, #should_have_message

Instance Method Details

#devaluate(actual) ⇒ Object



23
24
25
# File 'lib/riot/assertion_macros/exists.rb', line 23

def devaluate(actual)
  actual.nil? ? pass("is nil") : fail("expected a nil value")
end

#evaluate(actual) ⇒ Object



19
20
21
# File 'lib/riot/assertion_macros/exists.rb', line 19

def evaluate(actual)
  actual.nil? ? fail("expected a non-nil value") : pass("is not nil")
end