DAS: Add tests on add_type_annotation for dynamic

Closes https://github.com/dart-lang/sdk/issues/56730

This bug is fixed already; this change introduces unit tests.

Change-Id: I85fdbe2cb1ab46667e6c265576abb774a5dafda6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/501120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart
index b7ab34f..71e4046 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart
@@ -196,13 +196,10 @@
       return;
     }
 
-    int offset;
-    switch (node) {
-      case ListLiteral():
-        offset = node.leftBracket.offset;
-      case SetOrMapLiteral():
-        offset = node.leftBracket.offset;
-    }
+    var offset = switch (node) {
+      ListLiteral() => node.leftBracket.offset,
+      SetOrMapLiteral() => node.leftBracket.offset,
+    };
 
     await builder.addDartFileEdit(file, (builder) {
       builder.addInsertion(offset, (builder) {
diff --git a/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart b/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart
index 022bc22..330f64a 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart
@@ -210,6 +210,15 @@
     await assertNoAssist();
   }
 
+  Future<void> test_listLiteral_dynamicElement() async {
+    await resolveTestCode('''
+List<dynamic> list = ^[];
+''');
+    await assertHasAssist('''
+List<dynamic> list = <dynamic>[];
+''');
+  }
+
   Future<void> test_local_addImport_dartUri() async {
     newFile('$testPackageLibPath/my_lib.dart', r'''
 import 'dart:collection';
@@ -714,6 +723,15 @@
     await assertNoAssist();
   }
 
+  Future<void> test_mapLiteral_dynamicKeyAndValue() async {
+    await resolveTestCode('''
+Map<dynamic, dynamic> map = ^{};
+''');
+    await assertHasAssist('''
+Map<dynamic, dynamic> map = <dynamic, dynamic>{};
+''');
+  }
+
   Future<void> test_mapLiteral_notype() async {
     await resolveTestCode('''
 var map = ^{};
@@ -996,6 +1014,15 @@
 ''');
   }
 
+  Future<void> test_setLiteral_dynamicElement() async {
+    await resolveTestCode('''
+Set<dynamic> set = ^{};
+''');
+    await assertHasAssist('''
+Set<dynamic> set = <dynamic>{};
+''');
+  }
+
   Future<void> test_topLevelVariable_int() async {
     await resolveTestCode('''
 ^var v = 0;