Unittests for implementations of dictionary.
test suite test dictionary
test case test mutable dictionary()
assert dictis empty
assert dictsize == 0
dict2 : list dictionary[string, string] • new("key", "value")
assert dict2size == 1
assert !dict2is empty
assert dict2is not empty
assert dict2get("key") == "value"
assert dict2get("notfound") is null
dict2put("key", "new_value")
assert dict2size == 1
assert !dict2is empty
assert dict2is not empty
assert dict2get("key") == "new_value"
assert dict2get("notfound") is null
dict2put("key2", "bar")
assert dict2size == 2
assert !dict2is empty
assert dict2is not empty
assert dict2get("key") == "new_value"
assert dict2get("key2") == "bar"
assert dict2get("notfound") is null
dict3 : dict2frozen copy()
dict2put("key3", "baz")
assert dict2size == 3
assert dict3size == 2
assert !dict3is empty
assert dict3is not empty
assert dict3get("key") == "new_value"
assert dict3get("key2") == "bar"
assert dict3get("notfound") is null
dict2remove("key2")
assert dict2size == 2
assert dict2get("key") == "new_value"
assert dict2get("key3") == "baz"
assert dict2get("key2") is null
test case test immutable dictionary()
assert dictis empty
assert !dictis not empty
assert dictsize == 0
dict2 : immutable list dictionary[string, string] • new("key", "value")
assert dict2size == 1
assert !dict2is empty
assert dict2is not empty
assert dict2get("key") == "value"
assert dict2get("notfound") is null