Skip to content

Commit 6f4e2b0

Browse files
Merge pull request #1388 from yadavan88/scala-3-enum
Added enum sample code in Scala 3
2 parents 86c43bf + 513f0ba commit 6f4e2b0

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

scala-core-modules/scala-core-oop/src/main/scala/com/baeldung/scala/enumerations/Fingers.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.baeldung.scala.enumerations
22

3+
// This is Scala 2 based enumeration. It still works in Scala 3 for compatibility.
4+
// However, this might become unsupported in future release. In scala 3, use the keyword `enum`
35
object Fingers extends Enumeration {
46
type Finger = Value
57

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.baeldung.scala.enumerations.scala3
2+
3+
enum Fingers(val height: Double) {
4+
case Thumb extends Fingers(1)
5+
case Index extends Fingers(4)
6+
case Middle extends Fingers(4.1)
7+
case Ring extends Fingers(3.2)
8+
case Little extends Fingers(0.5)
9+
def heightInCms(): Double = height * 2.54
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.baeldung.scala.enumerations.scala3
2+
3+
import org.junit.Test
4+
import org.junit.Assert.assertTrue
5+
6+
class FingersUnitTest {
7+
8+
@Test
9+
def givenAFinger_getTheHeight(): Unit = {
10+
val Thumb = Fingers.Thumb
11+
assertTrue(Thumb.height == 1d)
12+
}
13+
14+
@Test
15+
def givenAFinger_getTheHeightInCm(): Unit = {
16+
val Thumb = Fingers.Thumb
17+
assertTrue(Thumb.heightInCms() == 2.54d)
18+
}
19+
20+
}

0 commit comments

Comments
 (0)