Skip to content

Commit 94964f0

Browse files
authored
[const-val] fix const val compiler error (#1085)
1 parent fe1a609 commit 94964f0

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.baeldung.constValCompilerError
2+
3+
import org.junit.jupiter.api.Assertions.assertEquals
4+
import org.junit.jupiter.api.Test
5+
6+
const val MSG_PREFIX_TOP_LVL: String = "App User Event (top level):"
7+
8+
object AppConstants {
9+
const val MSG_PREFIX: String = "App User Event (in object):"
10+
}
11+
12+
data class UserEvent(val name: String) {
13+
// ===== code doesn't compile =====
14+
// const val MSG_PREFIX: String = "App User Event:"
15+
// fun login(): String {
16+
// return "$MSG_PREFIX User [$name] login successful"
17+
// }
18+
// ================================
19+
20+
fun loginTopLevelPrefix(): String {
21+
return "$MSG_PREFIX_TOP_LVL User [$name] login successful"
22+
}
23+
24+
fun loginObjectPrefix(): String {
25+
return "${AppConstants.MSG_PREFIX} User [$name] login successful"
26+
}
27+
28+
fun loginCompanionObjPrefix(): String {
29+
return "$MSG_PREFIX_IN_COMPANION_OBJ User [$name] login successful"
30+
}
31+
32+
companion object {
33+
const val MSG_PREFIX_IN_COMPANION_OBJ: String = "App User Event (in Companion object):"
34+
}
35+
}
36+
37+
class ConstValCompilerErrorUnitTest {
38+
@Test
39+
fun `when using top level constant then correct`() {
40+
val result = UserEvent("Kai").loginTopLevelPrefix()
41+
assertEquals("App User Event (top level): User [Kai] login successful", result)
42+
}
43+
44+
@Test
45+
fun `when using constant in object then correct`() {
46+
val result = UserEvent("Kai").loginObjectPrefix()
47+
assertEquals("App User Event (in object): User [Kai] login successful", result)
48+
}
49+
@Test
50+
fun `when using constant in companion object then correct`() {
51+
val result = UserEvent("Kai").loginCompanionObjPrefix()
52+
assertEquals("App User Event (in Companion object): User [Kai] login successful", result)
53+
}
54+
}

0 commit comments

Comments
 (0)