RecordDiffer

difflicious.differ.RecordDiffer
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.

Attributes

Graph
Supertypes
trait Differ[T]
trait ConfigureMethods[T]
class Object
trait Matchable
class Any

Members list

Type members

Types

override type R = RecordResult

Value members

Concrete methods

override def configureIgnored(newIgnored: Boolean): Differ[T]

Attributes

Definition Classes
override def configurePairBy(path: ConfigurePath, op: PairBy[_]): Either[ConfigureError, Differ[T]]

Attributes

Definition Classes
override def configurePath(step: String, nextPath: ConfigurePath, op: ConfigureOp): Either[ConfigureError, Differ[T]]

Attributes

Definition Classes
override def diff(inputs: DiffInput[T]): R

Attributes

Definition Classes

Inherited methods

inline def configure[U](inline path: T => U)(configFunc: Differ[U] => Differ[U]): Differ[T]

Attributes

Inherited from:
ConfigureMethods
final def configureRaw(path: ConfigurePath, operation: ConfigureOp): Either[ConfigureError, Differ[T]]

Attempt to change the configuration of this Differ. If successful, a new differ with the updated configuration will be returned.

Attempt to change the configuration of this Differ. If successful, a new differ with the updated configuration will be returned.

The configuration change can fail due to

  • bad "path" that does not match the internal structure of the Differ
  • The path resolved correctly, but the configuration update operation cannot be applied for that part of the Differ (e.g. wrong type or wrong operation)

Value parameters

operation

The configuration change operation you want to perform on the target sub-Differ

path

The path to traverse to the sub-Differ

Attributes

Inherited from:
Differ
final def diff(obtained: T, expected: T): R

Attributes

Inherited from:
Differ
def ignore: Differ[T]

Attributes

Inherited from:
Differ
inline def ignoreAt[U](inline path: T => U): Differ[T]

Attributes

Inherited from:
ConfigureMethods
inline def replace[U](inline path: T => U)(newDiffer: Differ[U]): Differ[T]

Attributes

Inherited from:
ConfigureMethods
def unignore: Differ[T]

Attributes

Inherited from:
Differ

Inherited fields

val requiredShapeMsg: String

Attributes

Inherited from:
ConfigureMethods