module Fis::Test

Constants

VERSION

Public Instance Methods

assert(statement) click to toggle source
# File lib/fis/test.rb, line 27
def assert(statement)
  !!statement
end
assert_equal(actual, expected) click to toggle source
# File lib/fis/test.rb, line 31
def assert_equal(actual, expected)
  if expected == actual
    true
  else
    [expected, actual]
  end
end
skip(message=nil) click to toggle source
# File lib/fis/test.rb, line 22
def skip(message=nil)
  message ||= "skipped."
  raise SkippedError.new(message)
end
test(title, &b) click to toggle source
# File lib/fis/test.rb, line 9
def test(title, &b)
  begin
    if b
      result = b.call
      puts evaluate(result, title)
    else
      puts "pending:".blue + " #{title}"
    end
  rescue => e
    puts exception_handler(e, title)
  end
end

Private Instance Methods

evaluate(result, title) click to toggle source
# File lib/fis/test.rb, line 49
def evaluate(result, title)
  if result.is_a?(Array)
    "fail:".red + " #{title}\n      expected #{result.first} to equal #{result.last}"
  elsif result
    "pass:".green + " #{title}"
  else
    "fail:".red + " #{title}"
  end
end
exception_handler(e, title) click to toggle source
# File lib/fis/test.rb, line 41
def exception_handler(e, title)
  if e.class == Fis::Test::SkippedError
    "skipped:".blue + " #{e.message}"
  else
    "fail:".red + " #{title}\n#{e}\n#{e.backtrace.first}"
  end
end