blob: d8fabbd1317bba08ade04d06d3efbb130b77ef21 [file] [log] [blame]
// Copyright (c) 2016, 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:kernel/kernel.dart';
import 'package:kernel/type_algebra.dart';
import 'type_parser.dart';
import 'type_hashcode_test.dart' show testCases;
import 'package:test/test.dart';
checkType(DartType type) {
var map = {new TypeParameter(): const DynamicType()};
var other = substitute(type, map);
if (!identical(type, other)) {
fail('Identity substitution test failed for $type');
}
other = Substitution.fromUpperAndLowerBounds(map, map).substituteType(type);
if (!identical(type, other)) {
fail('Identity bounded substitution test failed for $type');
}
}
main() {
for (var testCase in testCases) {
test('$testCase', () {
var env = new LazyTypeEnvironment();
checkType(env.parse(testCase.type1));
checkType(env.parse(testCase.type2));
});
}
}