From 626bbd183f94e50b2f929b9d3db3af73ed304001 Mon Sep 17 00:00:00 2001 From: Allan Renucci Date: Sat, 25 Aug 2018 18:26:38 +0200 Subject: [PATCH] Remove arbitrary use case of enum from documentation This makes a good test case though --- docs/docs/reference/enums/enums.md | 29 -------------------------- tests/run/i4961.scala | 33 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 29 deletions(-) create mode 100644 tests/run/i4961.scala diff --git a/docs/docs/reference/enums/enums.md b/docs/docs/reference/enums/enums.md index 17a7bb1aa441..3868961e3a1f 100644 --- a/docs/docs/reference/enums/enums.md +++ b/docs/docs/reference/enums/enums.md @@ -88,35 +88,6 @@ object Planet { println(s"Your weight on $p is ${p.surfaceWeight(mass)}") } } -``` -### A specific use case of enum - -Two enums can be combined into a different type as shown below: - -```scala - -trait Animal -object Animal { - def enumValues: Iterable[Animal] = Dog.enumValues ++ Cat.enumValues - def enumValueNamed = Dog.enumValueNamed ++ Cat.enumValueNamed -} - -enum Dog extends Animal { - case GermanShepherd, Labrador, Boxer -} - -enum Cat extends Animal { - case PersianCat, Ragdoll, ScottishFold -} - -object Main { - def main(args: Array[String]): Unit = { - val values: Iterable[Animal] = Animal.enumValues - val boxer_dog: Animal = Animal.enumValueNamed("Boxer") - val ragdoll_cat: Animal = Animal.enumValueNamed("Ragdoll") - } -} - ``` ### Implementation diff --git a/tests/run/i4961.scala b/tests/run/i4961.scala new file mode 100644 index 000000000000..c89469c0c3df --- /dev/null +++ b/tests/run/i4961.scala @@ -0,0 +1,33 @@ +trait Animal +object Animal { + def enumValues: Iterable[Animal] = Dog.enumValues ++ Cat.enumValues + def enumValueNamed = Dog.enumValueNamed ++ Cat.enumValueNamed +} + +enum Dog extends Animal { + case GermanShepherd, Labrador, Boxer +} + +enum Cat extends Animal { + case PersianCat, Ragdoll, ScottishFold +} + +object Test { + import Dog._ + import Cat._ + + def main(args: Array[String]): Unit = { + val values = List( + GermanShepherd, + Labrador, + Boxer, + PersianCat, + Ragdoll, + ScottishFold + ) + + assert(Animal.enumValues == values) + assert(Animal.enumValueNamed("Boxer") == Boxer) + assert(Animal.enumValueNamed("Ragdoll") == Ragdoll) + } +}