package reading.models import enumeratum._ sealed trait Level extends EnumEntry with Ordered[Level] { import Level._ def compare(that: Level) = { def toInt(level: Level): Int = level match { case Sixieme => 6 case Cinquieme => 5 case Quatrieme => 4 case Troisieme => 3 } toInt(that) - toInt(this) } override def toString(): String = this match { case Sixieme => "6ème" case Cinquieme => "5ème" case Quatrieme => "4ème" case Troisieme => "3ème" } } object Level extends Enum[Level] { val values = findValues case object Sixieme extends Level case object Cinquieme extends Level case object Quatrieme extends Level case object Troisieme extends Level }