2012-12-28 16:16:49 +00:00
|
|
|
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
2011-10-05 06:22:36 +00:00
|
|
|
// 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.
|
|
|
|
|
2012-04-25 22:31:04 +00:00
|
|
|
// Test properties of ports.
|
|
|
|
// Note: unittest.dart depends on ports, in particular on the behaviour tested
|
|
|
|
// here. To keep things simple, we don't use the unittest library here.
|
|
|
|
|
2012-11-01 23:09:47 +00:00
|
|
|
library PortTest;
|
2013-04-05 19:43:16 +00:00
|
|
|
import "package:expect/expect.dart";
|
2012-11-01 23:09:47 +00:00
|
|
|
import 'dart:isolate';
|
2012-04-25 19:42:26 +00:00
|
|
|
|
2012-04-25 22:31:04 +00:00
|
|
|
main() {
|
|
|
|
testHashCode();
|
|
|
|
testEquals();
|
|
|
|
testMap();
|
|
|
|
}
|
2012-04-25 19:42:26 +00:00
|
|
|
|
2012-04-25 22:31:04 +00:00
|
|
|
void testHashCode() {
|
|
|
|
ReceivePort rp0 = new ReceivePort();
|
|
|
|
ReceivePort rp1 = new ReceivePort();
|
2013-10-25 19:23:00 +00:00
|
|
|
Expect.equals(rp0.sendPort.hashCode, rp0.sendPort.hashCode);
|
|
|
|
Expect.equals(rp1.sendPort.hashCode, rp1.sendPort.hashCode);
|
2012-04-25 22:31:04 +00:00
|
|
|
rp0.close();
|
|
|
|
rp1.close();
|
|
|
|
}
|
2012-04-25 19:42:26 +00:00
|
|
|
|
2012-04-25 22:31:04 +00:00
|
|
|
void testEquals() {
|
|
|
|
ReceivePort rp0 = new ReceivePort();
|
|
|
|
ReceivePort rp1 = new ReceivePort();
|
2013-10-25 19:23:00 +00:00
|
|
|
Expect.equals(rp0.sendPort, rp0.sendPort);
|
|
|
|
Expect.equals(rp1.sendPort, rp1.sendPort);
|
|
|
|
Expect.isFalse(rp0.sendPort == rp1.sendPort);
|
2012-04-25 22:31:04 +00:00
|
|
|
rp0.close();
|
|
|
|
rp1.close();
|
2011-10-05 06:22:36 +00:00
|
|
|
}
|
|
|
|
|
2012-04-25 22:31:04 +00:00
|
|
|
void testMap() {
|
|
|
|
ReceivePort rp0 = new ReceivePort();
|
|
|
|
ReceivePort rp1 = new ReceivePort();
|
|
|
|
final map = new Map<SendPort, int>();
|
2013-10-25 19:23:00 +00:00
|
|
|
map[rp0.sendPort] = 42;
|
|
|
|
map[rp1.sendPort] = 87;
|
|
|
|
Expect.equals(map[rp0.sendPort], 42);
|
|
|
|
Expect.equals(map[rp1.sendPort], 87);
|
|
|
|
|
|
|
|
map[rp0.sendPort] = 99;
|
|
|
|
Expect.equals(map[rp0.sendPort], 99);
|
|
|
|
Expect.equals(map[rp1.sendPort], 87);
|
|
|
|
|
|
|
|
map.remove(rp0.sendPort);
|
|
|
|
Expect.isFalse(map.containsKey(rp0.sendPort));
|
|
|
|
Expect.equals(map[rp1.sendPort], 87);
|
|
|
|
|
|
|
|
map.remove(rp1.sendPort);
|
|
|
|
Expect.isFalse(map.containsKey(rp0.sendPort));
|
|
|
|
Expect.isFalse(map.containsKey(rp1.sendPort));
|
2012-04-25 22:31:04 +00:00
|
|
|
|
|
|
|
rp0.close();
|
|
|
|
rp1.close();
|
2011-10-05 06:22:36 +00:00
|
|
|
}
|