difflicious.differ

Members list

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.

Attributes

Supertypes
trait ValueDiffer[T]
trait Differ[T]
trait ConfigureMethods[T]
class Object
trait Matchable
class Any
Show all
class MapDiffer[M[_, _], K, V](isIgnored: Boolean, keyDiffer: ValueDiffer[K], valueDiffer: Differ[V], typeName: SomeTypeName, asMap: MapLike[M]) extends Differ[M[K, V]]

Attributes

Companion
object
Supertypes
trait Differ[M[K, V]]
trait ConfigureMethods[M[K, V]]
class Object
trait Matchable
class Any
object MapDiffer

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
MapDiffer.type
final class NumericDiffer[T](isIgnored: Boolean, numeric: Numeric[T]) extends ValueDiffer[T]

Attributes

Companion
object
Supertypes
trait ValueDiffer[T]
trait Differ[T]
trait ConfigureMethods[T]
class Object
trait Matchable
class Any
Show all
object NumericDiffer

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
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.

Attributes

Supertypes
trait Differ[T]
trait ConfigureMethods[T]
class Object
trait Matchable
class Any
final class SeqDiffer[F[_], A](isIgnored: Boolean, pairBy: PairBy[A], itemDiffer: Differ[A], typeName: SomeTypeName, asSeq: SeqLike[F]) extends Differ[F[A]]

Attributes

Companion
object
Supertypes
trait Differ[F[A]]
trait ConfigureMethods[F[A]]
class Object
trait Matchable
class Any
object SeqDiffer

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
SeqDiffer.type
final class SetDiffer[F[_], A](isIgnored: Boolean, itemDiffer: Differ[A], matchFunc: A => Any, typeName: SomeTypeName, asSet: SetLike[F]) extends Differ[F[A]]

Attributes

Companion
object
Supertypes
trait Differ[F[A]]
trait ConfigureMethods[F[A]]
class Object
trait Matchable
class Any
object SetDiffer

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
SetDiffer.type
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

Attributes

Supertypes
trait ValueDiffer[T]
trait Differ[T]
trait ConfigureMethods[T]
class Object
trait Matchable
class Any
Show all
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.

Attributes

Supertypes
trait Differ[T]
trait ConfigureMethods[T]
class Object
trait Matchable
class Any
Known subtypes
class EqualsDiffer[T]
class NumericDiffer[T]
class TransformedDiffer[T, U]