All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.specs2.matcher.ValidationMatchers.scala Maven / Gradle / Ivy

There is a newer version: 3.10.0
Show newest version
package org.specs2
package matcher

import scalaz.Validation

/**
 * Matchers for the Validation datatype
 */
trait ValidationMatchers {

  def beSuccess[T](t: ValueCheck[T]) = SuccessValidationCheckedMatcher(t)
  def beSuccess[T] = SuccessValidationMatcher[T]()

  def beFailure[T](t: ValueCheck[T]) = FailureValidationCheckedMatcher(t)
  def beFailure[T] = FailureValidationMatcher[T]()

}

object ValidationMatchers extends ValidationMatchers

case class SuccessValidationMatcher[T]() extends OptionLikeMatcher[({type l[a]=Validation[_, a]})#l, T, T]("Success", _.toOption)
case class SuccessValidationCheckedMatcher[T](check: ValueCheck[T]) extends OptionLikeCheckedMatcher[({type l[a]=Validation[_, a]})#l, T, T]("Success", _.toOption, check)

case class FailureValidationMatcher[T]() extends OptionLikeMatcher[({type l[a]=Validation[a, _]})#l, T, T]("Failure", _.toEither.left.toOption)
case class FailureValidationCheckedMatcher[T](check: ValueCheck[T]) extends OptionLikeCheckedMatcher[({type l[a]=Validation[a, _]})#l, T, T]("Failure", _.toEither.left.toOption, check)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy