blob: 91a6b85843f12b0cf25f8e826ea784975abe63f7 [file] [log] [blame]
// Copyright (c) 2012, 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.
import "package:expect/expect.dart";
class C<T> {}
sameType(a, b) {
Expect.equals(a.runtimeType, b.runtimeType);
}
differentType(a, b) {
Expect.isFalse(a.runtimeType == b.runtimeType);
}
main() {
// Test types obtained by calling runtimeType.
var v1 = new C<int>();
var v2 = new C<int>();
sameType(v1, v2);
var v3 = new C<num>();
differentType(v1, v3);
var i = 1;
var s = 'string';
var d = 3.14;
var b = true;
sameType(2, i);
sameType('hest', s);
sameType(1.2, d);
sameType(false, b);
List l = [1, 2, 3];
Map m = {'a': 1, 'b': 2};
sameType([], l);
sameType({}, m);
// Test parameterized lists.
sameType(new List<int>(), new List<int>());
differentType(new List<int>(), new List<num>());
differentType(new List<int>(), new List());
}