[K/N][Tests] Move codegen test sources cycles..innerClass

^KT-61259
This commit is contained in:
Vladimir Sukharev
2023-12-13 23:53:55 +01:00
committed by Space Team
parent 35d2be25b2
commit 71a834b778
282 changed files with 2376 additions and 756 deletions
@@ -0,0 +1,16 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
@file:Suppress("RESERVED_MEMBER_INSIDE_VALUE_CLASS")
package codegen.inlineClass.customEquals
import kotlin.test.*
private inline class Z(val data: Int) {
override fun equals(other: Any?) = other is Z && data % 256 == other.data % 256
}
@Test fun runTest() {
assertTrue(Z(0) == Z(256))
}
@@ -0,0 +1,24 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.inlineClass.defaultEquals
import kotlin.test.*
inline class A(val x: Int)
inline class B(val a: A)
inline class C(val s: String)
inline class D(val c: C)
@Test fun runTest() {
val a = A(42)
val b = B(a)
val c = C("zzz")
val d = D(c)
assertTrue(a.equals(a))
assertTrue(b.equals(b))
assertTrue(c.equals(c))
assertTrue(d.equals(d))
}
@@ -0,0 +1,20 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.inlineClass.inlineClass0
import kotlin.test.*
// Based on KT-27225.
inline class First(val value: Int)
inline class Second(val value: First) {
constructor(c: Int) : this(First(c))
}
@Test fun runTest() {
assertEquals(Second(42).value.value, 42)
}
@@ -0,0 +1,21 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.inlineClass.nestedInlineClasses
import kotlin.test.*
interface I {
inline class IC(val x: Int)
}
interface I2 {
inline class IC(val x: Int)
}
@Test fun runTest() {
assertEquals(42, I.IC(42).x)
assertEquals(117, I2.IC(117).x)
}
@@ -0,0 +1,18 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.inlineClass.secondaryConstructorWithGenerics
import kotlin.test.*
// Based on KT-42649.
inline class IC<T>(val value: List<T>) {
constructor(value: T) : this(listOf(value))
}
@Test
fun runTest() {
assertEquals("abc", IC("abc").value.singleOrNull())
}
@@ -0,0 +1,20 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.inlineClass.valueClass0
import kotlin.test.*
// Based on KT-27225.
value class First(val value: Int)
value class Second(val value: First) {
constructor(c: Int) : this(First(c))
}
@Test fun runTest() {
assertEquals(Second(42).value.value, 42)
}