Testing all methods of Multimap.


== Running test suite: Multimap
-- Running test case: Multimap.prototype.constructor.Empty
[]

-- Running test case: Multimap.prototype.constructor.NonEmpty
[["zero","one"],["zero","four"],["two","three"]]

-- Running test case: Multimap.prototype.has
PASS: has should return true if a key exists.
PASS: has should return true if a value exists for an existing key.
PASS: has should return false if a value doesn't exist for an existing key.
PASS: has should return false if a key doesn't exist.
PASS: has should return false if a key doesn't exist, even if the value exists for a different key.

-- Running test case: Multimap.prototype.add.RepeatingKeysUniqueValues
[["zero","one"],["zero","two"]]

-- Running test case: Multimap.prototype.add.UniqueKeysRepeatingValues
[["zero","one"],["two","one"],["three","one"]]

-- Running test case: Multimap.prototype.add.RepeatingKeysRepeatingValues
[["zero","one"],["zero","three"],["two","one"]]

-- Running test case: Multimap.prototype.delete
[[0,1],[2,3],[2,4]]
PASS: The key 0 and the value 1 were successfully deleted.
[[2,3],[2,4]]
PASS: The key 2 and the value 3 were successfully deleted.
[[2,4]]
PASS: The key 2 and the value 4 were successfully deleted.
[]

-- Running test case: Multimap.prototype.delete.NonExistingValues
[[0,1],[2,3],[4,4]]
PASS: Nothing was removed for key 0 and value 3.
PASS: Nothing was removed for key 0 and value 4.
PASS: Nothing was removed for key 2 and value 1.
PASS: Nothing was removed for key 2 and value 4.
PASS: Nothing was removed for key 4 and value 1.
PASS: Nothing was removed for key 4 and value 3.
[[0,1],[2,3],[4,4]]

-- Running test case: Multimap.prototype.delete.NonExistingKeys
[[0,1],[2,3],[4,4]]
PASS: Nothing was removed for key 1.
PASS: Nothing was removed for key 3.
PASS: Nothing was removed for key 5.
[[0,1],[2,3],[4,4]]

-- Running test case: Multimap.prototype.delete.AllValuesForKey
[["opossum","badger"],["opossum","raccoon"],["raccoon","opossum"]]
PASS: Nothing was removed for key "badger".
[["opossum","badger"],["opossum","raccoon"],["raccoon","opossum"]]
PASS: Values were removed for key "opossum".
[["raccoon","opossum"]]

-- Running test case: Multimap.prototype.take.SingleKeyAndValue
[[0,1],[2,3],[2,4]]
1
PASS: The key 0 and the value 1 were taken.
PASS: Only one key should remain.
[[2,3],[2,4]]
undefined
PASS: Nothing should have been taken.
PASS: Only one key should remain.
[[2,3],[2,4]]
3
PASS: The key 2 and the value 3 were taken.
PASS: Only one key should remain.
[[2,4]]
4
PASS: The key 2 and the value 4 were taken.
PASS: No more keys should remain.
[]

-- Running test case: Multimap.prototype.take.AllValuesForKey
[["opossum","badger"],["opossum","raccoon"],["raccoon","opossum"]]
PASS: Nothing was removed for key "badger".
[["opossum","badger"],["opossum","raccoon"],["raccoon","opossum"]]
PASS: Only one key should remain.
PASS: Two values from the key "opossum" should be taken.
PASS: Result should include "badger".
PASS: Result should include "raccoon".
[["raccoon","opossum"]]

-- Running test case: Multimap.prototype.clear
[["one","two"],["one","five"],["three","four"],["three","six"]]
[]

-- Running test case: Multimap.prototype.keys
[["one","two"],["one","five"],["three","four"],["three","six"]]
["one","three"]

-- Running test case: Multimap.prototype.values
[["one","two"],["one","five"],["three","four"],["three","six"]]
["two","five","four","six"]

-- Running test case: Multimap.prototype.sets
[["one","two"],["one","five"],["three","four"],["three","six"]]
[["one",["two","five"]],["three",["four","six"]]]

-- Running test case: Multimap.prototype.copy
[["one","two"],["three","four"]]
PASS: Copy should not return the same object.
PASS: Copy should return a deep copy.
PASS: Modifying the original should not modify the copy.

