diff --git a/translator/src/test/kotlin/tests/input/dfs_1.txt b/translator/src/test/kotlin/tests/input/dfs_1.txt new file mode 100644 index 00000000000..98f7941352e --- /dev/null +++ b/translator/src/test/kotlin/tests/input/dfs_1.txt @@ -0,0 +1,3 @@ +dfs_1_Int(73) == -101 +dfs_1_Int(8) == 8 +dfs_1_Int(9) == 9 diff --git a/translator/src/test/kotlin/tests/input/nullable_class_fields_1.txt b/translator/src/test/kotlin/tests/input/nullable_class_fields_1.txt new file mode 100644 index 00000000000..3269ec40847 --- /dev/null +++ b/translator/src/test/kotlin/tests/input/nullable_class_fields_1.txt @@ -0,0 +1,3 @@ +nullable_class_fields_1_primitives() == 29 +nullable_class_fields_1_classes() == 29 +nullable_class_fields_1_classes_not_null() == 28 diff --git a/translator/src/test/kotlin/tests/input/nullable_primitive_types_1.txt b/translator/src/test/kotlin/tests/input/nullable_primitive_types_1.txt index aee55bbdca5..34fb6ab22e3 100644 --- a/translator/src/test/kotlin/tests/input/nullable_primitive_types_1.txt +++ b/translator/src/test/kotlin/tests/input/nullable_primitive_types_1.txt @@ -2,3 +2,4 @@ nullable_primitive_types_1_small() == 29 nullable_primitive_types_1_extern_Int(11) == 19 nullable_primitive_types_1_if_null() == 11 nullable_primitive_types_1_if_not_null() == 2245 +nullable_primitive_types_1_reassignment() == 5678 diff --git a/translator/src/test/kotlin/tests/kotlin/dfs_1.kt b/translator/src/test/kotlin/tests/kotlin/dfs_1.kt new file mode 100644 index 00000000000..ace616fe1e2 --- /dev/null +++ b/translator/src/test/kotlin/tests/kotlin/dfs_1.kt @@ -0,0 +1,45 @@ +class dfs_1_Node { + var left: dfs_1_Node? = null + var right: dfs_1_Node? = null + var value: Int = 0 +} + +fun dfs_1_search(x: dfs_1_Node, value: Int): dfs_1_Node? { + if (x.value == value) { + return x + } + + if (x.left != null) { + val result = dfs_1_search(x.left!!, value) + if (result != null) { + return result + } + } + if (x.right != null) { + val result = dfs_1_search(x.right!!, value) + if (result != null) { + return result + } + } + return null +} + +fun dfs_1(searchObject: Int): Int { + var i = 0 + val root: dfs_1_Node? = dfs_1_Node() + root!!.value = 111 + var current = root + while (i < 10) { + current!!.left = dfs_1_Node() + current.right = dfs_1_Node() + current.value = i + current = current.left + i++ + } + val result = dfs_1_search(root, searchObject) + if (result == null) { + return -101 + } else { + return result!!.value + } +} \ No newline at end of file diff --git a/translator/src/test/kotlin/tests/kotlin/nullable_class_fields_1.kt b/translator/src/test/kotlin/tests/kotlin/nullable_class_fields_1.kt new file mode 100644 index 00000000000..71f3a410e08 --- /dev/null +++ b/translator/src/test/kotlin/tests/kotlin/nullable_class_fields_1.kt @@ -0,0 +1,32 @@ +class nullable_class_fields_1_class { + var left: nullable_class_fields_1_class? = null + var right: Int? = null +} + +fun nullable_class_fields_1_primitives(): Int { + val a = nullable_class_fields_1_class() + if (a.right == null) { + return 29 + } else { + return 28 + } +} + +fun nullable_class_fields_1_classes(): Int { + val a = nullable_class_fields_1_class() + if (a.left == null) { + return 29 + } else { + return 28 + } +} + +fun nullable_class_fields_1_classes_not_null(): Int { + val a = nullable_class_fields_1_class() + a.left = nullable_class_fields_1_class() + if (a.left == null) { + return 29 + } else { + return 28 + } +} diff --git a/translator/src/test/kotlin/tests/kotlin/nullable_primitive_types_1.kt b/translator/src/test/kotlin/tests/kotlin/nullable_primitive_types_1.kt index c9d103a7fc6..b5771ff5cea 100644 --- a/translator/src/test/kotlin/tests/kotlin/nullable_primitive_types_1.kt +++ b/translator/src/test/kotlin/tests/kotlin/nullable_primitive_types_1.kt @@ -29,4 +29,16 @@ fun nullable_primitive_types_1_if_not_null(): Int { else{ return 2245 } +} + +fun nullable_primitive_types_1_reassignment():Int{ + var z:Int? = 32 + z = null + var r = z + if (r == null){ + return 5678 + } + else{ + return 13 + } } \ No newline at end of file