diff options
author | Stewart Stewart <stewinsalot@gmail.com> | 2016-12-18 19:32:50 -0500 |
---|---|---|
committer | Stewart Stewart <stewinsalot@gmail.com> | 2016-12-18 19:32:50 -0500 |
commit | ea49093016f12989233bbb402f49b37b230e4c40 (patch) | |
tree | d396d945f5246495d103e81658b0f20a0b954f24 /src/test/scala/xyz/driver/core/CoreTest.scala | |
parent | e3c4666f718797defab28dc90a9c1912f5750223 (diff) | |
download | driver-core-ea49093016f12989233bbb402f49b37b230e4c40.tar.gz driver-core-ea49093016f12989233bbb402f49b37b230e4c40.tar.bz2 driver-core-ea49093016f12989233bbb402f49b37b230e4c40.zip |
add tests for typesafe id conversion
Diffstat (limited to 'src/test/scala/xyz/driver/core/CoreTest.scala')
-rw-r--r-- | src/test/scala/xyz/driver/core/CoreTest.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/scala/xyz/driver/core/CoreTest.scala b/src/test/scala/xyz/driver/core/CoreTest.scala index 3eb9eaa..1ccd707 100644 --- a/src/test/scala/xyz/driver/core/CoreTest.scala +++ b/src/test/scala/xyz/driver/core/CoreTest.scala @@ -39,6 +39,23 @@ class CoreTest extends FlatSpec with Matchers with MockitoSugar { theSameElementsInOrderAs(Seq(Id[String]("1"), Id[String]("2"), Id[String]("3"), Id[String]("4"))) } + it should "have type-safe conversions" in { + final case class X(id: Id[X]) + final case class Y(id: Id[Y]) + final case class Z(id: Id[Z]) + + implicit val xy = Id.SameId[X,Y] + implicit val yz = Id.SameId[Y,Z] + + val x = X(Id("0")) + val y = Y(x.id.asId[Y]) + val z = Z(y.id.asId[Z]) + val y2 = Y(z.id.asId[Y]) + val x2 = X(z.id.asId[Y].asId[X]) + x2 === x + y2 === y + } + "Name" should "have equality and ordering working correctly" in { (Name[String]("foo") === Name[String]("foo")) should be(true) |