anchor.diff:  void f({@required String s}) {}
   main() {
     f(s: 'x');
  +}
  +''';
  +    await _checkSingleFileChanges(content, expected,
  +        assumptions: NullabilityMigrationAssumptions(
  +            namedNoDefaultParameterHeuristic:
  +                NamedNoDefaultParameterHeuristic.assumeRequired));
  +  }
  +
  +  test_named_parameter_no_default_used_non_null_option2_assume_required_propagate() async {
  +    var content = '''
  +void f(String s) {}
  +void g({String s}) {
  +  f(s);
  +}
  +main() {
  +  g(s: 'x');
  +}
  +''';
  +    var expected = '''
  +import 'package:meta/meta.dart';
  +void f(String s) {}
  +void g({@required String s}) {
  +  f(s);
  +}
  +main() {
  +  g(s: 'x');
   }
   ''';
       await _checkSingleFileChanges(content, expected,
  
positive.code: void f({String? s}) {}
  main() {
    f();
  }
  ''';
      await _checkSingleFileChanges(content, expected,
  
negative.code:                 NamedNoDefaultParameterHeuristic.assumeNullable));
    }
  
    test_named_parameter_no_default_used_non_null_option2_assume_nullable_propagate() async {
      var content = '''
  void f(String s) {}
  void g({String s}) {
    f(s);
  }
  main() {
    g(s: 'x');
  }
  ''';
      var expected = '''
  void f(String? s) {}
  void g({String? s}) {
    f(s);
  }
  main() {
    g(s: 'x');
  }
  ''';
      await _checkSingleFileChanges(content, expected,
          assumptions: NullabilityMigrationAssumptions(
              namedNoDefaultParameterHeuristic:
                  NamedNoDefaultParameterHeuristic.assumeNullable));
    }
  
    test_named_parameter_no_default_used_non_null_option2_assume_required() async {
      var content = '''
  void f({String s}) {}
  