difflicious.differ

Type members

Classlikes

final class EqualsDiffer[T](isIgnored: Boolean, valueToString: T => String) extends ValueDiffer[T]

Differ where the two values are compared by using the equals method. If the two values aren't equal, then we use the provided valueToString function to output the diagnostic output.

Differ where the two values are compared by using the equals method. If the two values aren't equal, then we use the provided valueToString function to output the diagnostic output.

class MapDiffer[M[_, _], K, V](isIgnored: Boolean, keyDiffer: ValueDiffer[K], valueDiffer: Differ[V], typeName: SomeTypeName, asMap: MapLike[M]) extends Differ[M[K, V]]
Companion
object
object MapDiffer
Companion
class
final class NumericDiffer[T](isIgnored: Boolean, numeric: Numeric[T]) extends ValueDiffer[T]
Companion
object
Companion
class
final class RecordDiffer[T](fieldDiffers: ListMap[String, (T => Any, Differ[Any])], isIgnored: Boolean, typeName: SomeTypeName) extends Differ[T]

A differ for a record-like data structure such as tuple or case classes.

A differ for a record-like data structure such as tuple or case classes.

final class SeqDiffer[F[_], A](isIgnored: Boolean, pairBy: PairBy[A], itemDiffer: Differ[A], typeName: SomeTypeName, asSeq: SeqLike[F]) extends Differ[F[A]]
Companion
object
object SeqDiffer
Companion
class
final class SetDiffer[F[_], A](isIgnored: Boolean, itemDiffer: Differ[A], matchFunc: A => Any, typeName: SomeTypeName, asSet: SetLike[F]) extends Differ[F[A]]
Companion
object
object SetDiffer
Companion
class
class TransformedDiffer[T, U](underlyingDiffer: ValueDiffer[U], transformFunc: T => U) extends ValueDiffer[T]

A Differ that transforms any input of diff method and pass it to its underlying Differ. See ValueDiffer.contramap

A Differ that transforms any input of diff method and pass it to its underlying Differ. See ValueDiffer.contramap

trait ValueDiffer[T] extends Differ[T]

Differ where the error diagnostic output is just string values. Simple types where a string representation is enough for diagnostics purposes should use Differ.useEquals (EqualsDiffer is a subtype of this trait). For example, Differ for Int, String, java.time.Instant are all ValueDiffers.

Differ where the error diagnostic output is just string values. Simple types where a string representation is enough for diagnostics purposes should use Differ.useEquals (EqualsDiffer is a subtype of this trait). For example, Differ for Int, String, java.time.Instant are all ValueDiffers.

This trait also provide an extra contramap method which makes it easy to write instances for newtypes / opaque types.