Fix for #380. Added tests for type aliases for built-in types. Test string concatenation and arithmetic operations
diff --git a/Language/Types/Type_Aliases/built-in_types_t05.dart b/Language/Types/Type_Aliases/built-in_types_t05.dart
new file mode 100644
index 0000000..57d9faa
--- /dev/null
+++ b/Language/Types/Type_Aliases/built-in_types_t05.dart
@@ -0,0 +1,49 @@
+/*
+ * 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 Test for type aliases for built-in types
+ * @description Checks initialization via constructor
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=nonfunction-type-aliases
+import '../../../Utils/expect.dart';
+
+typedef IntAlias = int;
+typedef NumAlias = num;
+typedef DoubleAlias = double;
+typedef BoolAlias = bool;
+typedef StringAlias = String;
+
+class A {
+  int i;
+  num n;
+  double d;
+  bool b;
+  String s;
+
+  A(this.i, this.n, this.d, this.b, this.s);
+}
+
+class C extends A {
+  C(IntAlias ia, NumAlias na, DoubleAlias da, BoolAlias ba, StringAlias sa) :
+        super(ia, na, da, ba, sa);
+}
+
+main() {
+  IntAlias i = 1;
+  NumAlias n = 3.14;
+  DoubleAlias d = 3.1415;
+  BoolAlias b = true;
+  StringAlias s = "Lily was here";
+
+  C c = new C(i, n, d, b, s);
+
+  Expect.equals(1, c.i);
+  Expect.equals(3.14, c.n);
+  Expect.equals(3.1415, c.d);
+  Expect.isTrue(c.b);
+  Expect.equals("Lily was here", c.s);
+}
diff --git a/Language/Types/Type_Aliases/built-in_types_t06.dart b/Language/Types/Type_Aliases/built-in_types_t06.dart
new file mode 100644
index 0000000..07373a7
--- /dev/null
+++ b/Language/Types/Type_Aliases/built-in_types_t06.dart
@@ -0,0 +1,55 @@
+/*
+ * 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 Test for type aliases for built-in types
+ * @description Checks arithmetic operations via type aliases
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=nonfunction-type-aliases
+import '../../../Utils/expect.dart';
+
+typedef IntAlias = int;
+typedef NumAlias = num;
+typedef DoubleAlias = double;
+
+main() {
+  const TOLERANCE = 0.00000000001;
+
+  IntAlias i1 = 1;
+  IntAlias i2 = 2;
+  NumAlias n = 3.14;
+  DoubleAlias d = 3.1415;
+
+  Expect.equals(3, i1 + i2);
+  Expect.approxEquals(4.14, n + i1, TOLERANCE);
+  Expect.approxEquals(5.1415, d + i2, TOLERANCE);
+  Expect.equals(6.283, d + d);
+  Expect.equals(6.2815, d + n);
+  Expect.equals(6.2815, n + d);
+
+  Expect.equals(-1, i1 - i2);
+  Expect.equals(2.14, n - i1);
+  Expect.approxEquals(1.1415, d - i2, TOLERANCE);
+  Expect.equals(0, d - d);
+  Expect.approxEquals(0.0015, d - n, TOLERANCE);
+  Expect.approxEquals(-0.0015, n - d, TOLERANCE);
+
+  Expect.equals(2, i1 * i2);
+  Expect.equals(4, i2 * i2);
+  Expect.equals(6.28, n * i2);
+  Expect.equals(6.283, d * i2);
+  Expect.approxEquals(9.86902225, d * d, TOLERANCE);
+  Expect.approxEquals(9.86431, d * n, TOLERANCE);
+  Expect.approxEquals(9.86431, n * d, TOLERANCE);
+
+  Expect.approxEquals(0.5, i1 / i2, TOLERANCE);
+  Expect.approxEquals(1, i2 / i2, TOLERANCE);
+  Expect.approxEquals(1.57, n / i2, TOLERANCE);
+  Expect.approxEquals(1.57075, d / i2, TOLERANCE);
+  Expect.approxEquals(1.0, d / d, TOLERANCE);
+  Expect.approxEquals(1.0004777070063695, d / n, TOLERANCE);
+  Expect.approxEquals(0.9995225210886519, n / d, TOLERANCE);
+}
diff --git a/Language/Types/Type_Aliases/built-in_types_t07.dart b/Language/Types/Type_Aliases/built-in_types_t07.dart
new file mode 100644
index 0000000..90c2ed5
--- /dev/null
+++ b/Language/Types/Type_Aliases/built-in_types_t07.dart
@@ -0,0 +1,24 @@
+/*
+ * 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 Test for type aliases for built-in types
+ * @description Checks string concatenation
+ * @author sgrekhov@unipro.ru
+ */
+// SharedOptions=--enable-experiment=nonfunction-type-aliases
+import '../../../Utils/expect.dart';
+
+typedef StringAlias = String;
+
+main() {
+  String s = "Lily";
+  StringAlias s1 = "was";
+  StringAlias s2 = "here";
+
+  Expect.equals("Lily was here", s + " " + s1 + " " + s2);
+  Expect.equals("Lily was here", "Lily $s1 $s2");
+  Expect.equals("washere", s1 + s2);
+}