module MiniTest::Assertions
Public Instance Methods
assert_equal_contents(expected, actual, message = nil)
click to toggle source
Contents must be the same, but order doesn't matter. (In rspec, this is “`.should =~“`)
# File lib/minitest/great_expectations.rb, line 8 def assert_equal_contents(expected, actual, message = nil) e_ary = expected.to_a a_ary = actual.to_a error_msgs = [] missing_from_actual = e_ary - a_ary unless missing_from_actual.empty? error_msgs << "Missing expected elements:\n #{mu_pp missing_from_actual}" end missing_from_expected = a_ary - e_ary unless missing_from_expected.empty? error_msgs << "Extraneous actual elements:\n #{mu_pp missing_from_expected}" end unless error_msgs.empty? message ||= "Expected:\n #{mu_pp expected}\nDid not match contents of Actual:\n #{mu_pp actual}." flunk("#{message}\n#{error_msgs.join("\n")}") end end
assert_equal_hash(expected, actual, message = nil)
click to toggle source
Hash keys and values must be the same
# File lib/minitest/great_expectations.rb, line 27 def assert_equal_hash(expected, actual, message = nil) e_keys = expected.keys a_keys = actual.keys error_msgs = [] missing_from_actual = e_keys - a_keys unless missing_from_actual.empty? error_msgs << "Missing expected keys:\n #{mu_pp missing_from_actual}" end missing_from_expected = a_keys - e_keys unless missing_from_expected.empty? error_msgs << "Extraneous actual keys:\n #{mu_pp missing_from_expected}" end intersecting_keys = e_keys & a_keys intersecting_keys.each do |ea| exp = expected[ea] act = actual[ea] unless exp == act error_msgs << "Expected [#{mu_pp ea}]: #{mu_pp exp}\nActual [#{mu_pp ea}]: #{mu_pp act}" end end unless error_msgs.empty? message ||= "Expected:\n #{mu_pp expected}\ndid not equal Actual:\n #{mu_pp actual}." flunk("#{message}\n#{error_msgs.join("\n")}") end end
assert_false(obj, msg = nil)
click to toggle source
The first parameter must be “`false“`, not just coercible to false.
# File lib/minitest/great_expectations.rb, line 82 def assert_false(obj, msg = nil) msg = message(msg) { "<false> expected but was #{mu_pp obj}" } assert obj == false, msg end
assert_falsy(obj, msg = nil)
click to toggle source
# File lib/minitest/great_expectations.rb, line 87 def assert_falsy(obj, msg = nil) msg = message(msg) { "Expected falsy but was #{mu_pp obj}" } assert !obj, msg end
assert_includes_all(expected, actual, message = nil)
click to toggle source
Every element in actual must be in expected, but expected may have additional elements.
# File lib/minitest/great_expectations.rb, line 54 def assert_includes_all(expected, actual, message = nil) missing_from_expected = expected.to_a - actual.to_a unless missing_from_expected.empty? message ||= "Expected:\n #{mu_pp expected}\ndid not contain every element in Actual:\n #{mu_pp actual}." flunk("#{message}\nMissing expected elements:\n #{mu_pp missing_from_expected}") end end
assert_includes_none(expected, actual, message = nil)
click to toggle source
# File lib/minitest/great_expectations.rb, line 62 def assert_includes_none(expected, actual, message = nil) unexpected = expected.to_a & actual.to_a unless unexpected.empty? message ||= "Expected:\n #{mu_pp expected}\ncontained elements in Actual:\n #{mu_pp actual}." flunk("#{message}\nUnexpected elements:\n #{mu_pp unexpected.sort}") end end
assert_true(obj, msg = nil)
click to toggle source
The first parameter must be “`true“`, not coercible to true.
# File lib/minitest/great_expectations.rb, line 71 def assert_true(obj, msg = nil) msg = message(msg) { "<true> expected but was #{mu_pp obj}" } assert obj == true, msg end
assert_truthy(obj, msg = nil)
click to toggle source
# File lib/minitest/great_expectations.rb, line 76 def assert_truthy(obj, msg = nil) msg = message(msg) { "Expected truthy, but was #{mu_pp obj}" } assert obj, msg end