#993. Added tests for Abi class
diff --git a/LibTest/ffi/Abi/Abi.current_A01_t01.dart b/LibTest/ffi/Abi/Abi.current_A01_t01.dart
new file mode 100644
index 0000000..4dad1f5
--- /dev/null
+++ b/LibTest/ffi/Abi/Abi.current_A01_t01.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2022, 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 Abi.current()
+/// The ABI the Dart VM is currently running on.
+///
+/// @description Checks that this method returns the ABI the Dart VM is
+/// currently running on
+/// @author sgrekhov@unipro.ru
+
+import "dart:ffi";
+import "../../../Utils/expect.dart";
+
+main() {
+  final abi = Abi.current();
+  Expect.isTrue(Abi.values.contains(abi));
+}
\ No newline at end of file
diff --git a/LibTest/ffi/Abi/Abi.current_A01_t02.dart b/LibTest/ffi/Abi/Abi.current_A01_t02.dart
new file mode 100644
index 0000000..3bd4a5c
--- /dev/null
+++ b/LibTest/ffi/Abi/Abi.current_A01_t02.dart
@@ -0,0 +1,55 @@
+// Copyright (c) 2022, 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 Abi.current()
+/// The ABI the Dart VM is currently running on.
+///
+/// @description Checks that this method returns the ABI the Dart VM is
+/// currently running on
+/// @author sgrekhov@unipro.ru
+
+import "dart:ffi";
+import 'dart:io';
+import "../../../Utils/expect.dart";
+
+main() {
+  final abi = Abi.current();
+  Expect.isTrue(Abi.values.contains(abi));
+  if (Platform.isAndroid) {
+    Expect.isTrue(
+        abi == Abi.androidArm ||
+            abi == Abi.androidArm64 ||
+            abi == Abi.androidIA32 ||
+            abi == Abi.androidX64,
+        abi.toString());
+  }
+  if (Platform.isFuchsia) {
+    Expect.isTrue(
+        abi == Abi.fuchsiaArm64 || abi == Abi.fuchsiaX64, abi.toString());
+  }
+  if (Platform.isIOS) {
+    Expect.isTrue(abi == Abi.iosArm || abi == Abi.iosArm64 || abi == Abi.iosX64,
+        abi.toString());
+  }
+  if (Platform.isLinux) {
+    Expect.isTrue(
+        abi == Abi.linuxArm ||
+            abi == Abi.linuxArm64 ||
+            abi == Abi.linuxX64 ||
+            abi == Abi.linuxIA32 ||
+            abi == Abi.linuxRiscv32 ||
+            abi == Abi.linuxRiscv64,
+        abi.toString());
+  }
+  if (Platform.isMacOS) {
+    Expect.isTrue(abi == Abi.macosX64 || abi == Abi.macosArm64, abi.toString());
+  }
+  if (Platform.isWindows) {
+    Expect.isTrue(
+        abi == Abi.windowsArm64 ||
+            abi == Abi.windowsIA32 ||
+            abi == Abi.windowsX64,
+        abi.toString());
+  }
+}
diff --git a/LibTest/ffi/Abi/Abi.toString_A01_t01.dart b/LibTest/ffi/Abi/Abi.toString_A01_t01.dart
new file mode 100644
index 0000000..5ae23e2
--- /dev/null
+++ b/LibTest/ffi/Abi/Abi.toString_A01_t01.dart
@@ -0,0 +1,27 @@
+// Copyright (c) 2022, 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 @override
+/// String toString()
+/// override
+/// A string representation of this ABI.
+///
+// The string is equal to the 'on' part from Platform.version and dart --version
+///
+/// @description Checks that this method returns a string which is equal to the
+/// 'on' part from Platform.version
+/// @author sgrekhov@unipro.ru
+
+import "dart:ffi";
+import 'dart:io';
+import "../../../Utils/expect.dart";
+
+main() {
+  final abi = Abi.current();
+  String expected = Platform.version
+      .substring(Platform.version.indexOf(" on ") + 4)
+      .trim()
+      .replaceAll("\"", "");
+  Expect.equals(expected, abi.toString());
+}
diff --git a/LibTest/ffi/Abi/Abi.values_A01_t01.dart b/LibTest/ffi/Abi/Abi.values_A01_t01.dart
new file mode 100644
index 0000000..b556c09
--- /dev/null
+++ b/LibTest/ffi/Abi/Abi.values_A01_t01.dart
@@ -0,0 +1,25 @@
+// Copyright (c) 2022, 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 values constant Null safety
+/// List<Abi> const values
+/// The ABIs that the DartVM can run on.
+///
+/// Does not contain a macosIA32. We have stopped supporting 32-bit MacOS.
+///
+/// Includes windowsArm64, even though it is currently not supported. Support
+/// has been requested for Flutter.
+/// https://github.com/flutter/flutter/issues/53120
+///
+/// @description Checks that this list contains `windowsArm64` and the current
+/// ABI
+/// @author sgrekhov@unipro.ru
+
+import "dart:ffi";
+import "../../../Utils/expect.dart";
+
+main() {
+  Expect.isTrue(Abi.values.contains(Abi.current()));
+  Expect.isTrue(Abi.values.contains(Abi.windowsArm64));
+}
\ No newline at end of file