aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJon Pretty <jon.pretty@propensive.com>2017-11-03 14:15:07 +0100
committerJon Pretty <jon.pretty@propensive.com>2017-11-03 14:15:07 +0100
commit4d957fd5a35f1d7eed8643b22132b65696c80c8a (patch)
tree9cb14d42927b4f30f7d976f22be96d258b01fd61 /examples
parent25fb02b13b721004269f9bd9a4e5d22c2bb219c4 (diff)
downloadmagnolia-4d957fd5a35f1d7eed8643b22132b65696c80c8a.tar.gz
magnolia-4d957fd5a35f1d7eed8643b22132b65696c80c8a.tar.bz2
magnolia-4d957fd5a35f1d7eed8643b22132b65696c80c8a.zip
Test fixes and other miscellaneous changes
Diffstat (limited to 'examples')
-rw-r--r--examples/src/main/scala/typeclasses.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/src/main/scala/typeclasses.scala b/examples/src/main/scala/typeclasses.scala
index 440c5bc..b4af6d0 100644
--- a/examples/src/main/scala/typeclasses.scala
+++ b/examples/src/main/scala/typeclasses.scala
@@ -90,3 +90,32 @@ sealed trait Entity
case class Company(name: String) extends Entity
case class Person(name: String, age: Int) extends Entity
case class Address(line1: String, occupant: Person)
+
+
+
+sealed trait Alphabet
+
+case class Greek(άλφα: Letter, βήτα: Letter, γάμα: Letter, δέλτα: Letter, έψιλον: Letter, ζήτα: Letter, ήτα: Letter, θήτα: Letter) extends Alphabet
+case class Cyrillic(б: Letter, в: Letter, г: Letter, д: Letter, ж: Letter, з: Letter) extends Alphabet
+case class Latin(a: Letter, b: Letter, c: Letter, d: Letter, e: Letter, f: Letter, g: Letter, h: Letter, i: Letter, j: Letter, k: Letter, l: Letter, m: Letter) extends Alphabet
+
+case class Letter(name: String, phonetic: String)
+//case class Country(name: String, language: Language, leader: Person)
+case class Language(name: String, code: String, alphabet: Alphabet)
+//case class Person(name: String, dateOfBirth: Date)
+case class Date(year: Int, month: Month, day: Int)
+
+sealed trait Month
+case object Jan extends Month
+case object Feb extends Month
+case object Mar extends Month
+case object Apr extends Month
+case object May extends Month
+case object Jun extends Month
+case object Jul extends Month
+case object Aug extends Month
+case object Sep extends Month
+case object Oct extends Month
+case object Nov extends Month
+case object Dec extends Month
+