class Attestify::Assertions::OutputAssertion
A helper class for Attestify::Assertions#assert_output
.
Public Class Methods
new(expected_stdout, expected_stderr, stdout, stderr)
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 5 def initialize(expected_stdout, expected_stderr, stdout, stderr) @expected_stdout = expected_stdout @expected_stderr = expected_stderr @stdout = stdout @stderr = stderr end
Public Instance Methods
assert()
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 12 def assert assert_stdout && assert_stderr end
message()
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 16 def message messages = [stdout_message, stderr_message] "Expected #{messages.compact.join(", and ")}" end
Private Instance Methods
assert_output(expected, actual)
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 31 def assert_output(expected, actual) return true unless expected if expected.is_a?(String) expected == actual else actual =~ expected end end
assert_stderr()
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 27 def assert_stderr assert_output(@expected_stderr, @stderr) end
assert_stdout()
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 23 def assert_stdout assert_output(@expected_stdout, @stdout) end
output_message(label, expected, actual)
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 49 def output_message(label, expected, actual) return nil unless expected if expected.is_a?(String) "#{label}: #{expected.inspect} == #{actual.inspect}" else "#{label}: #{actual.inspect} =~ #{expected.inspect}" end end
stderr_message()
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 45 def stderr_message output_message("$stderr", @expected_stderr, @stderr) end
stdout_message()
click to toggle source
# File lib/attestify/assertions/output_assertion.rb, line 41 def stdout_message output_message("$stdout", @expected_stdout, @stdout) end