Error

com.phasmidsoftware.matchers.Matchers.Error
case class Error[+R](e: Throwable) extends Unsuccessful[R, Throwable]

Error when matching.

Type parameters

R

the result-type of this.

Value parameters

e

the exception that was thrown.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Matchers.this.Unsuccessful[R, Throwable]
trait Matchers.this.MatchResult[R]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def &[S >: R, U](m: => Matchers.this.Matcher[S, U]): Matchers.this.MatchResult[U]

Composition method. If this MatchResult is successful then return the value of m applied to the result.

Composition method. If this MatchResult is successful then return the value of m applied to the result.

Type parameters

S

the underlying type of the input to m (S is a super-class of R).

U

the underlying type of the returned value.

Value parameters

m

a Matcher of S to T.

Attributes

Returns

a MatchResult[T].

def andThen[S](sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[R ~ S]

Type parameters

S

the underlying type of s.

Value parameters

sm

a MatchResult[S] (ignored).

Attributes

Returns

Error(t).

def flatMap[S](f: R => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[S]

Type parameters

S

the underlying type of the returned MatchResult.

Value parameters

f

a function of R => MatchResult[S].

Attributes

Returns

Error(e).

def getOrElse[S >: R](s: => S): S

Method to get the value of this MatchResult, otherwise return the parameter s.

Method to get the value of this MatchResult, otherwise return the parameter s.

Type parameters

S

a super-class of R.

Value parameters

s

a call-by-name value to be used if this is unsuccessful.

Attributes

Throws
Throwable

e

def guard[S](sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[S]

Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.

Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.

Type parameters

S

the type of the resulting MatchResult.

Value parameters

sm

the MatchResult that must follow this MatchResult for a successful outcome.

Attributes

Returns

a MatchResult[S].

def identify(w: String): Matchers.this.MatchResult[R]

Identifies the current MatchResult with the given string.

Identifies the current MatchResult with the given string.

Value parameters

w

a string value used for identification

Attributes

Returns

the current MatchResult[R]

def invert: Matchers.this.MatchResult[R]

Returns the inversion of this MatchResult.

Returns the inversion of this MatchResult.

Attributes

Returns

the current MatchResult.

override def map[S](f: R => S): Matchers.this.MatchResult[S]

Type parameters

S

the underlying type of the returned MatchResult.

Value parameters

f

a function of R => S (ignored)

Attributes

Returns

Error(e).

Definition Classes
def orElse[S >: R](sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[S]

Alternation method that takes a MatchResult as the alternative.

Alternation method that takes a MatchResult as the alternative.

Type parameters

S

the underlying type of the result and a super-class of R.

Value parameters

sm

a MatchResult that will be ignored.

Attributes

Returns

sm.

override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
def |[S >: R](m: => Matchers.this.Matcher[Any, S]): Matchers.this.MatchResult[S]

Alternation method that takes a Matcher as the alternative. If this MatchResult is empty, then return the value of m applied to the input.

Alternation method that takes a Matcher as the alternative. If this MatchResult is empty, then return the value of m applied to the input.

Value parameters

m

a Matcher of Any to R.

Attributes

Returns

m(t).

Inherited methods

def &&[S](sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[S]

Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.

Method to compose this MatchResult with sm. It this is successful, then sm will be returned. Otherwise, an Unsuccessful result will be returned.

Similar to ~ except that this MatchResult[R] is discarded and not part of the result. In other words, this acts purely as a guard. This method simply invokes guard(sm).

Type parameters

S

the type of the resulting MatchResult.

Value parameters

sm

the MatchResult that must follow this MatchResult for a successful outcome.

Attributes

Returns

a MatchResult[S] which is the result of calling guard(sm).

Inherited from:
MatchResult
def accumulate[S, U >: R](accumulator: (R, S) => U)(sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[U]

Method to accumulate this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.

Method to accumulate this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.

Type parameters

S

the underlying type of sm.

U

the underlying type of the result, which is a super-class of R.

Value parameters

accumulator

a function of type (R, S) => U.

sm

a MatchResult[S].

Attributes

Returns

a MatchResult[U].

Inherited from:
MatchResult
def combine[S, U](combiner: (R, S) => U)(sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[U]

Method to combine this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.

Method to combine this MatchResult[R] with a MatchResult[S], given a function which can combine the wrapped elements.

Type parameters

S

the underlying type of sm.

Value parameters

combiner

a function of type (R, S) => U.

sm

a MatchResult[U].

Attributes

Returns

a MatchResult[U].

Inherited from:
MatchResult
def filter(p: R => Boolean): Matchers.this.MatchResult[R]

Filters this MatchResult with the provided predicate.

Filters this MatchResult with the provided predicate.

If this is a Miss, then it is returned as is. If this is a Match, and the given predicate p is applied to its value. If the result of applying the predicate is true, then this Match is returned. Otherwise, this method returns a Miss.

Value parameters

p

A predicate function that takes a value of type R and returns a Boolean.

Attributes

Returns

A MatchResult[R] which is either the current instance if the predicate matches, or a Miss.

Inherited from:
MatchResult
def filterNot(p: R => Boolean): Matchers.this.MatchResult[R]

Filters the current MatchResult (if successful) with the provided predicate. If the predicate evaluates to false for the result of this MatchResult, the current instance is returned. Otherwise, it returns a Miss. If this is a Miss then that is returned.

Filters the current MatchResult (if successful) with the provided predicate. If the predicate evaluates to false for the result of this MatchResult, the current instance is returned. Otherwise, it returns a Miss. If this is a Miss then that is returned.

Value parameters

p

A predicate function that takes a value of type R and returns a Boolean.

Attributes

Returns

A MatchResult[R] which is either the current instance if the predicate matches, or a Miss.

Inherited from:
MatchResult
def foreach(f: R => Unit): Unit

Do nothing.

Do nothing.

Value parameters

f

a function of R => Unit (ignored).

Attributes

Inherited from:
Unsuccessful
def get: R

get method (will always throw an exception).

get method (will always throw an exception).

Attributes

Throws
Throwable

(a MatcherException) or other Throwable (e).

Inherited from:
Unsuccessful
def isEmpty: Boolean

Method to determine if this is unsuccessful.

Method to determine if this is unsuccessful.

Attributes

Returns

the negation of successful.

Inherited from:
MatchResult
def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
def success[S](s: => S): Matchers.this.MatchResult[S]

"unit" method for a successful match.

"unit" method for a successful match.

Type parameters

S

the underlying type of the result.

Value parameters

s

the call-by-name value of the result.

Attributes

Returns

a Match[S] with value s (unless s throws an exception, in which case the result will be an Error).

Inherited from:
MatchResult
def successful: Boolean

Attributes

Returns

false.

Inherited from:
Unsuccessful
def ||[S >: R](sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[S]

Alternation method that takes a MatchResult as the alternative. Identical to orElse.

Alternation method that takes a MatchResult as the alternative. Identical to orElse.

Type parameters

S

the type of the result and a super-type of R.

Value parameters

sm

a call-by-name MatchResult that will be used if this is empty.

Attributes

Returns

a MatchResult[S] which is the result of invoking orElse(sm).

Inherited from:
MatchResult
def ~[S](sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[R ~ S]

Method to compose this MatchResult with sm. The results of this and of sm are combined into one ~. ~ is a synonym of andThen.

Method to compose this MatchResult with sm. The results of this and of sm are combined into one ~. ~ is a synonym of andThen.

Type parameters

S

the underlying type of s.

Value parameters

sm

a call-by-name MatchResult[S].

Attributes

Returns

a MatchResult[R ~ S].

Inherited from:
MatchResult
def ~~[S](sm: => Matchers.this.MatchResult[S]): Matchers.this.MatchResult[R ~ S]

Method to compose this MatchResult with sm. If either this is a Match or sm is a Match, the result will be a Match. CONSIDER having two nested match clauses such that sm would not be evaluated if this was an Error.

Method to compose this MatchResult with sm. If either this is a Match or sm is a Match, the result will be a Match. CONSIDER having two nested match clauses such that sm would not be evaluated if this was an Error.

Type parameters

S

the underlying type of s.

Value parameters

sm

a call-by-name MatchResult[S].

Attributes

Returns

a MatchResult[R ~ S].

Inherited from:
MatchResult