Module: SetAssertions
- Included in:
- Test::Unit::TestCase
- Defined in:
- lib/set_assertions.rb,
lib/set_assertions/version.rb
Constant Summary collapse
- VERSION =
"0.0.3"
Instance Method Summary collapse
-
#assert_equal_set(expected_set, actual_set, message = nil) ⇒ Object
Passes if
expected_set
andactual_set
are equal sets. -
#assert_not_equal_set(expected_set, actual_set, message = nil) ⇒ Object
Passes if
expected_set
andactual_set
are inequal sets.
Instance Method Details
#assert_equal_set(expected_set, actual_set, message = nil) ⇒ Object
Passes if expected_set
and actual_set
are equal sets. An equal set has the following properties.
* Identical cardinality.
* The same elements, without concern for order.
Example:
assert_equal_set [:a,:b], [:b,:a]
15 16 17 18 19 20 21 |
# File 'lib/set_assertions.rb', line 15 def assert_equal_set(expected_set, actual_set, =nil) = (, "set <?> in any order was expected, got: \n<?>.\n", expected_set, actual_set) assert_block() { (expected_set.length == actual_set.length) && ((expected_set & actual_set).length == actual_set.length) } end |
#assert_not_equal_set(expected_set, actual_set, message = nil) ⇒ Object
Passes if expected_set
and actual_set
are inequal sets. An inequal set has the following properties.
* Different cardinality.
* The same cardinality, but different elements. (order does not matter)
Example:
assert_not_equal_set [:a,:b], [:a,:c]
32 33 34 35 36 37 38 |
# File 'lib/set_assertions.rb', line 32 def assert_not_equal_set(expected_set, actual_set, =nil) = (, "any set other than <?> was expected, got the same: \n<?>.\n", expected_set, actual_set) assert_block() { (expected_set.length != actual_set.length) || ((expected_set & actual_set).length != actual_set.length) } end |