Issue #465: tests for Generics in NNBD added.
diff --git a/LanguageFeatures/nnbd/generics_A01_t05.dart b/LanguageFeatures/nnbd/generics_A01_t05.dart
new file mode 100644
index 0000000..f62edb8
--- /dev/null
+++ b/LanguageFeatures/nnbd/generics_A01_t05.dart
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+/**
+ * @assertion The default bound of generic type parameters is treated as
+ * [Object?].
+ * @description Check that default function typedef type parameter is treated as
+ * [Object?] dynamically.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+
+import "../../Utils/expect.dart";
+
+typedef G1<T> = T Function();
+typedef G2<T> = void Function(T);
+typedef G3<T> = void Function<T1 extends T>();
+typedef G4<T1, T2, T3> = T1 Function(T2, T3);
+typedef G5<T1, T2, T3, T4> = T1 Function<TT extends T2>(T3, T4);
+
+typedef G6<T> = void Function();
+typedef G7<T1, T2, T3> = void Function();
+
+typedef G3_expected = void Function<T>();
+typedef G5_expected = Object? Function<T>(Object?, Object?);
+
+main() {
+  Expect.equals(
+      typeOf<G1<Object?>>(),
+      typeOf<G1>()
+  );
+
+  Expect.equals(
+      typeOf<G2<Object?>>(),
+      typeOf<G2>()
+  );
+
+  Expect.equals(G3_expected, G3);
+
+  Expect.equals(
+      typeOf<G4<Object?, Object?, Object?>>(),
+      typeOf<G4>()
+  );
+
+  Expect.equals(G5_expected, G5);
+
+  Expect.equals(
+      typeOf<G6<Object?>>(),
+      typeOf<G6>()
+  );
+
+  Expect.equals(
+      typeOf<G7<Object?, Object?, Object?>>(),
+      typeOf<G7>()
+  );
+}
diff --git a/LanguageFeatures/nnbd/generics_A01_t06.dart b/LanguageFeatures/nnbd/generics_A01_t06.dart
new file mode 100644
index 0000000..304ed4c
--- /dev/null
+++ b/LanguageFeatures/nnbd/generics_A01_t06.dart
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+/**
+ * @assertion The default bound of generic type parameters is treated as
+ * [Object?].
+ * @description Check that default function typedef type parameter is treated as
+ * [Object?] statically.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+
+import "../../Utils/expect.dart";
+
+typedef G1<T> = T Function();
+typedef G2<T> = void Function(T);
+typedef G3<T> = T Function<T1 extends T>();
+typedef G4<T1, T2, T3> = T1 Function(T2, T3);
+
+typedef G5<T> = void Function();
+typedef G6<T1, T2, T3> = void Function();
+
+Object? G3_expected<T extends Object?>() {
+  return T;
+}
+
+F<G1<Object?>> test1(G1 source) {
+  var fsource = toF(source);
+  return fsource;
+}
+
+F<G2<Object?>> test2(G2 source) {
+  var fsource = toF(source);
+  return fsource;
+}
+
+F<G4<Object?, Object?, Object?>> test4(G4 source) {
+  var fsource = toF(source);
+  return fsource;
+}
+
+F<G5<Object?>> test5(G5 source) {
+  var fsource = toF(source);
+  return fsource;
+}
+
+F<G6<Object?, Object?, Object?>> test6(G6 source) {
+  var fsource = toF(source);
+  return fsource;
+}
+
+void main() {
+  G3 source3 = G3_expected;
+  source3();
+}
+