diff --git a/test/Main.scala b/test/Main.scala index 7b45f54..a881de5 100644 --- a/test/Main.scala +++ b/test/Main.scala @@ -1,4 +1,5 @@ import ai.x.diff._ +import shapeless._ import scala.collection.immutable.SortedMap sealed trait Parent case class Bar( s: String, i: Int ) extends Parent @@ -90,6 +91,28 @@ object Main extends App { ) } + { + implicit def HListDiffShow: DiffShow[HList] = new DiffShow[shapeless.HList] { + def show(t: HList) = t.toString + def diff(left: HList, right: HList) = if (left == right) Identical(left) else Different(left, right) + override def diffable(left: HList, right: HList) = left.runtimeLength == right.runtimeLength + } + + println( + DiffShow.diff( + "abcd" :: 123 :: 'c' :: HNil, + "abcd" :: 123 :: 'c' :: HNil + ) + ) + + println( + DiffShow.diff( + "abcd" :: 123 :: 'c' :: HNil, + "abcd" :: 125 :: 'b' :: HNil + ) + ) + } + /* //import pprint.Config.Defaults._