blob: c5f74413fe967f9199e4b7c8497fb5efa8afbdad [file] [log] [blame]
/*
* Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
* for details. All rights reserved. Use of this source code is governed by a
* BSD-style license that can be found in the LICENSE file.
*/
/**
* @assertion Map<K, V> abstract class
* An unordered collection of key-value pairs, from which you retrieve a value
* by using its associated key.
* Each key must be unique. Null values are supported, but null keys are not.
* @description Checks that the map works correctly with hashcode collisions.
* @author msyabro
*/
import "../../../Utils/expect.dart";
class A {
String s;
A(this.s) {}
int get hashCode {
return s.length;
}
}
main() {
Map<A, Object> map = new Map<A, Object>();
A a1 = new A("aa");
A a2 = new A("bb");
map[a1] = 1;
map[a2] = 2;
Expect.isTrue(map.length == 2);
Expect.isTrue(map.containsKey(a1));
Expect.isTrue(map.containsKey(a2));
Expect.isTrue(!map.containsKey(new A("99")));
}