Skip to content

Instantly share code, notes, and snippets.

@sullivan-
Last active December 13, 2015 23:19
Show Gist options
  • Save sullivan-/4991256 to your computer and use it in GitHub Desktop.
Save sullivan-/4991256 to your computer and use it in GitHub Desktop.
Person.persons foreach { p =>
// left unit
assert((Just(p) flatMap { _.mother }) == p.mother)
}
val maybes = MaybeNot +: (Person.persons map { Just(_) })
maybes foreach { m =>
// right unit
assert((m flatMap { Just(_) }) == m)
// associativity
assert(
(m flatMap { _.mother } flatMap { _.father }) ==
(m flatMap { _.mother flatMap { _.father } }))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment