From 4d639692940a21a3fd6d101b0c69b30ad9d1138b Mon Sep 17 00:00:00 2001 From: Alexander Shabalin Date: Thu, 26 Mar 2020 15:33:50 +0300 Subject: [PATCH] Do not use random in initializers7 --- .../tests/runtime/basic/initializers7.kt | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/backend.native/tests/runtime/basic/initializers7.kt b/backend.native/tests/runtime/basic/initializers7.kt index 2e4971830ba..7327675675f 100644 --- a/backend.native/tests/runtime/basic/initializers7.kt +++ b/backend.native/tests/runtime/basic/initializers7.kt @@ -7,25 +7,52 @@ package runtime.basic.initializers7 import kotlin.test.* -import kotlin.random.Random - object A { - val a1 = Random.nextInt(100) - val a2 = Random.nextInt(100) + init { + assertAUninitialized() + } + val a1 = 7 + val a2 = 12 +} + +// Check that A is initialized dynamically. +fun assertAUninitialized() { + assertEquals(0, A.a1) + assertEquals(0, A.a2) } object B { + init { + assertBUninitialized() + } val b1 = A.a2 val b2 = C.c1 } +// Check that B is initialized dynamically. +fun assertBUninitialized() { + assertEquals(0, B.b1) + assertEquals(0, B.b2) +} + object C { - val c1 = Random.nextInt(100) + init { + assertCUninitialized() + } + val c1 = 42 val c2 = A.a1 val c3 = B.b1 val c4 = B.b2 } +// Check that C is initialized dynamically. +fun assertCUninitialized() { + assertEquals(0, C.c1) + assertEquals(0, C.c2) + assertEquals(0, C.c3) + assertEquals(0, C.c4) +} + @Test fun runTest() { assertEquals(A.a1, C.c2) assertEquals(A.a2, C.c3)