#458. Null-aware operators tests added
diff --git a/LanguageFeatures/nnbd/null_aware_operator_A01_t01.dart b/LanguageFeatures/nnbd/null_aware_operator_A01_t01.dart
new file mode 100644
index 0000000..17df51e
--- /dev/null
+++ b/LanguageFeatures/nnbd/null_aware_operator_A01_t01.dart
@@ -0,0 +1,31 @@
+/*
+ * 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 A property access e?.f translates to:
+ * SHORT[EXP(e), fn[x] => x.f]
+ *
+ * @description Check that a property access e?.f translates to:
+ * SHORT[EXP(e), fn[x] => x.f]
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+import "../../Utils/expect.dart";
+
+class A {
+ String test() => "Lily was here";
+}
+
+main() {
+ A? a = null;
+ Expect.isNull(a?.test());
+ a = new A();
+ Expect.equals("Lily was here", a?.test());
+
+ String? s = null;
+ Expect.isNull(s?.toString());
+ s = "Let it be";
+ Expect.equals("Let it be", s?.toString());
+}
diff --git a/LanguageFeatures/nnbd/null_aware_operator_A01_t02.dart b/LanguageFeatures/nnbd/null_aware_operator_A01_t02.dart
new file mode 100644
index 0000000..171ec91
--- /dev/null
+++ b/LanguageFeatures/nnbd/null_aware_operator_A01_t02.dart
@@ -0,0 +1,30 @@
+/*
+ * 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 A property access e?.f translates to:
+ * SHORT[EXP(e), fn[x] => x.f]
+ *
+ * @description Check that a property access e?.f translates to:
+ * SHORT[EXP(e), fn[x] => x.f]
+ * @static-warning
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+import "../../Utils/expect.dart";
+
+class A {
+ String test() => "Lily was here";
+}
+
+main() {
+ A a = Never;
+ Expect.isNotNull(a?.toString()); /// static type warning
+ a = new A();
+ Expect.equals("Lily was here", a?.test()); /// static type warning
+
+ String s = "Let it be";
+ Expect.equals("Let it be", s?.toString()); /// static type warning
+}
diff --git a/LanguageFeatures/nnbd/null_check_operator_A01_t01.dart b/LanguageFeatures/nnbd/null_check_operator_A01_t01.dart
new file mode 100644
index 0000000..7d81290
--- /dev/null
+++ b/LanguageFeatures/nnbd/null_check_operator_A01_t01.dart
@@ -0,0 +1,25 @@
+/*
+ * 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 An expression of the form e! evaluates e to a value v, throws a
+ * runtime error if v is null, and otherwise evaluates to v.
+ *
+ * @description Check that an expression of the form e! evaluates e to a value
+ * v, throws a runtime error if v is null
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+import "../../Utils/expect.dart";
+
+class A {}
+
+main() {
+ A? a = null;
+ Expect.throws(() {a!;});
+ Expect.throws(() {null!;});
+ String s? = null;
+ Expect.throws(() {s!;});
+}
diff --git a/LanguageFeatures/nnbd/null_check_operator_A01_t02.dart b/LanguageFeatures/nnbd/null_check_operator_A01_t02.dart
new file mode 100644
index 0000000..3e2c27c
--- /dev/null
+++ b/LanguageFeatures/nnbd/null_check_operator_A01_t02.dart
@@ -0,0 +1,28 @@
+/*
+ * 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 An expression of the form e! evaluates e to a value v, throws a
+ * runtime error if v is null, and otherwise evaluates to v.
+ *
+ * @description Check that an expression of the form e! evaluates e to a value
+ * v if v is not null
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+import "../../Utils/expect.dart";
+
+class A {}
+
+main() {
+ A a1 = new A();
+ A? a2 = a1;
+
+ Expect.equals(a1, a1!);
+ Expect.equals(a1, a2!);
+
+ String? s = "Lily was here";
+ Expect.equals("Lily was here", s!);
+}