Unittests for implementations of dictionary.
test suite test dictionary
test case test mutable dictionary()
assert dict • is empty
assert dict • size == 0
dict2 : list dictionary[string, string] • new("key", "value")
assert dict2 • size == 1
assert !dict2 • is empty
assert dict2 • is not empty
assert dict2 • get("key") == "value"
assert dict2 • get("notfound") is null
dict2 • put("key", "new_value")
assert dict2 • size == 1
assert !dict2 • is empty
assert dict2 • is not empty
assert dict2 • get("key") == "new_value"
assert dict2 • get("notfound") is null
dict2 • put("key2", "bar")
assert dict2 • size == 2
assert !dict2 • is empty
assert dict2 • is not empty
assert dict2 • get("key") == "new_value"
assert dict2 • get("key2") == "bar"
assert dict2 • get("notfound") is null
dict3 : dict2 • frozen copy()
dict2 • put("key3", "baz")
assert dict2 • size == 3
assert dict3 • size == 2
assert !dict3 • is empty
assert dict3 • is not empty
assert dict3 • get("key") == "new_value"
assert dict3 • get("key2") == "bar"
assert dict3 • get("notfound") is null
dict2 • remove("key2")
assert dict2 • size == 2
assert dict2 • get("key") == "new_value"
assert dict2 • get("key3") == "baz"
assert dict2 • get("key2") is null
test case test immutable dictionary()
assert dict • is empty
assert !dict • is not empty
assert dict • size == 0
dict2 : immutable list dictionary[string, string] • new("key", "value")
assert dict2 • size == 1
assert !dict2 • is empty
assert dict2 • is not empty
assert dict2 • get("key") == "value"
assert dict2 • get("notfound") is null