You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: core-kotlin-modules/core-kotlin-10/src/test/kotlin/com/baeldung/variableshadowing/VariableShadowingUnitTest.kt
+9-11Lines changed: 9 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -11,12 +11,12 @@ class VariableShadowingUnitTest{
11
11
fun`test variable shadowing`(){
12
12
val number =10// Top-level variable
13
13
14
-
fungetNumber() : Int { // top level function
14
+
funupNumber() : Int { // top level function
15
15
val number =20// shadowing top level variable
16
16
return number
17
17
}
18
18
19
-
assertEquals(20, getNumber())
19
+
assertEquals(20, upNumber())
20
20
assertEquals(10, number)
21
21
22
22
// shadowing class member
@@ -54,10 +54,7 @@ class VariableShadowingUnitTest{
54
54
55
55
// shadowing in loop
56
56
for (number in numbers) {
57
-
val doubledNumber = number *2
58
57
val number = number *2// Shadowing the loop variable 'number'
59
-
60
-
assertEquals(doubledNumber, number)
61
58
}
62
59
63
60
@@ -87,22 +84,26 @@ class VariableShadowingUnitTest{
87
84
fun`solution to avoid shadowing`(){
88
85
val topLevelNumber =10// Top-level variable
89
86
90
-
fungetNumber() : Int {
87
+
funupNumber() : Int {
91
88
val localNumber =20// Local variable without shadowing
92
89
return localNumber
93
90
}
94
91
95
-
assertEquals(20, getNumber())
92
+
assertEquals(20, upNumber())
96
93
assertEquals(10, topLevelNumber)
97
94
98
95
// in class member
99
96
classCar {
100
97
val speed:Int=100
101
98
102
-
funupSpeed() : Int {
99
+
funnewSpeed() : Int {
103
100
val newSpeed = speed *2// Using a new variable name to avoid shadowing
104
101
return newSpeed
105
102
}
103
+
104
+
funupSpeed() : Int {
105
+
returnthis.speed *2
106
+
}
106
107
}
107
108
108
109
assertEquals(100, Car().speed)
@@ -129,10 +130,7 @@ class VariableShadowingUnitTest{
129
130
130
131
// in loop
131
132
for (number in numbers) {
132
-
val doubledNumber = number *2
133
133
val newNumber = number *2// Using a new variable name to avoid shadowing
0 commit comments