// Copyright (c) 2019, 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:test_reflective_loader/test_reflective_loader.dart';

import 'already_migrated_code_decorator_test.dart'
    as already_migrated_code_decorator_test;
import 'api_test.dart' as api_test;
import 'decorated_class_hierarchy_test.dart' as decorated_class_hierarchy_test;
import 'decorated_type_test.dart' as decorated_type_test;
import 'edge_builder_flow_analysis_test.dart'
    as edge_builder_flow_analysis_test;
import 'edge_builder_test.dart' as edge_builder_test;
import 'edit_plan_test.dart' as edit_plan_test;
import 'edit_planner_pass_through_merging_test.dart'
    as edit_planner_pass_through_merging_test;
import 'fix_aggregator_test.dart' as fix_aggregator_test;
import 'fix_builder_test.dart' as fix_builder_test;
import 'fix_reason_target_test.dart' as fix_reason_target_test;
import 'front_end/test_all.dart' as front_end;
import 'instrumentation_test.dart' as instrumentation_test;
import 'node_builder_test.dart' as node_builder_test;
import 'nullability_node_test.dart' as nullability_node_test;
import 'preview/test_all.dart' as preview;
import 'utilities/test_all.dart' as utilities;
import 'variables_test.dart' as variables;

main() {
  defineReflectiveSuite(() {
    already_migrated_code_decorator_test.main();
    api_test.main();
    decorated_class_hierarchy_test.main();
    decorated_type_test.main();
    edge_builder_flow_analysis_test.main();
    edge_builder_test.main();
    edit_plan_test.main();
    edit_planner_pass_through_merging_test.main();
    fix_aggregator_test.main();
    fix_builder_test.main();
    fix_reason_target_test.main();
    front_end.main();
    instrumentation_test.main();
    node_builder_test.main();
    nullability_node_test.main();
    preview.main();
    utilities.main();
    variables.main();
  });
}
