DataTables

This trait provides implicit definitions and types to create DataTables.

A DataTable has a header defining column names and rows holding values. It is possible to apply a function taking the row values and returning a Result.

A TableHeader is defined by separating the column names with '|': "a" | "b" | "c"

A DataRow is defined by separating the row values with '!': 1 ! 2 ! 3

Note that the '!' method can conflict with the creation of Examples when the value is a string. In that case it is possible to use the '!!! method to disambiguate:

"1" !! "2" ! "3"

In that case the first column of the header can also be defined with '||' for pure symmetry reasons:

"a" || "b" | "c" "1" !! "2" ! "3"

See also:

org.specs2.matcher.DataTablesSpec for examples

class Object
trait Matchable
class Any

Type members

Classlikes

abstract class DataRow[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10] extends Product
case class DataRow1[+T1](t1: T1) extends DataRow[T1, Any, Any, Any, Any, Any, Any, Any, Any, Any]
case class DataRow10[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9, t10: T10) extends DataRow[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]
case class DataRow2[+T1, +T2](t1: T1, t2: T2) extends DataRow[T1, T2, Any, Any, Any, Any, Any, Any, Any, Any]
case class DataRow3[+T1, +T2, +T3](t1: T1, t2: T2, t3: T3) extends DataRow[T1, T2, T3, Any, Any, Any, Any, Any, Any, Any]
case class DataRow4[+T1, +T2, +T3, +T4](t1: T1, t2: T2, t3: T3, t4: T4) extends DataRow[T1, T2, T3, T4, Any, Any, Any, Any, Any, Any]
case class DataRow5[+T1, +T2, +T3, +T4, +T5](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) extends DataRow[T1, T2, T3, T4, T5, Any, Any, Any, Any, Any]
case class DataRow6[+T1, +T2, +T3, +T4, +T5, +T6](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6) extends DataRow[T1, T2, T3, T4, T5, T6, Any, Any, Any, Any]
case class DataRow7[+T1, +T2, +T3, +T4, +T5, +T6, +T7](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7) extends DataRow[T1, T2, T3, T4, T5, T6, T7, Any, Any, Any]
case class DataRow8[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8) extends DataRow[T1, T2, T3, T4, T5, T6, T7, T8, Any, Any]
case class DataRow9[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9](t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9) extends DataRow[T1, T2, T3, T4, T5, T6, T7, T8, T9, Any]
abstract class Table(val titles: List[String], val execute: Boolean)

A DataTable with its header

A DataTable with its header

Children of this class are parametrized with the types of values that their rows can hold.

case class Table1[T1](titles: List[String], rows: List[DataRow1[T1]], execute: Boolean, show1: Show1[T1]) extends Table
case class Table10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](titles: List[String], rows: List[DataRow10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]], execute: Boolean, show10: Show10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]) extends Table
case class Table2[T1, T2](titles: List[String], rows: List[DataRow2[T1, T2]], execute: Boolean, show2: Show2[T1, T2]) extends Table
case class Table3[T1, T2, T3](titles: List[String], rows: List[DataRow3[T1, T2, T3]], execute: Boolean, show3: Show3[T1, T2, T3]) extends Table
case class Table4[T1, T2, T3, T4](titles: List[String], rows: List[DataRow4[T1, T2, T3, T4]], execute: Boolean, show4: Show4[T1, T2, T3, T4]) extends Table
case class Table5[T1, T2, T3, T4, T5](titles: List[String], rows: List[DataRow5[T1, T2, T3, T4, T5]], execute: Boolean, show5: Show5[T1, T2, T3, T4, T5]) extends Table
case class Table6[T1, T2, T3, T4, T5, T6](titles: List[String], rows: List[DataRow6[T1, T2, T3, T4, T5, T6]], execute: Boolean, show6: Show6[T1, T2, T3, T4, T5, T6]) extends Table
case class Table7[T1, T2, T3, T4, T5, T6, T7](titles: List[String], rows: List[DataRow7[T1, T2, T3, T4, T5, T6, T7]], execute: Boolean, show7: Show7[T1, T2, T3, T4, T5, T6, T7]) extends Table
case class Table8[T1, T2, T3, T4, T5, T6, T7, T8](titles: List[String], rows: List[DataRow8[T1, T2, T3, T4, T5, T6, T7, T8]], execute: Boolean, show8: Show8[T1, T2, T3, T4, T5, T6, T7, T8]) extends Table
case class Table9[T1, T2, T3, T4, T5, T6, T7, T8, T9](titles: List[String], rows: List[DataRow9[T1, T2, T3, T4, T5, T6, T7, T8, T9]], execute: Boolean, show9: Show9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) extends Table
case class TableHeader(titles: List[String])

GENERATED

GENERATED

object given_Conversion_String_TableHeader extends Conversion[String, TableHeader]
Returns:

a TableHeader with one heading only

Value members

Inherited methods

protected def checkResultFailure(r: => Result): Result

this method can be overridden to throw exceptions when checking a result

this method can be overridden to throw exceptions when checking a result

Inherited from:
ResultChecks
def createExpectable[T](t: => T, alias: String => String): Expectable[T]
Returns:

an Expectable with a description function

Inherited from:
ExpectationsCreation
def createExpectable[T](t: => T, alias: => String): Expectable[T]
Returns:

an Expectable with a description

Inherited from:
ExpectationsCreation
def createExpectable[T](t: => T): Expectable[T]
Returns:

an Expectable

Inherited from:
ExpectationsCreation
def createExpectable[T](t: => T, alias: Option[String => String]): Expectable[T]
Returns:

an Expectable with a description function

Inherited from:
ExpectationsCreation
def createExpectableWithShowAs[T](t: => T, showAs: => String): Expectable[T]
Returns:

an Expectable with a function to show the element T

Inherited from:
ExpectationsCreation
protected def mapResult(r: Result): Result

this method can be overridden to intercept a Result and modify it. It is used for example to set a stacktrace providing the location of a failure

this method can be overridden to intercept a Result and modify it. It is used for example to set a stacktrace providing the location of a failure

Inherited from:
ResultChecks
protected def sandboxResult(r: => Result): Result
Returns:

the result without any side-effects

Inherited from:
ResultChecks
protected def setStacktrace(m: Result): Result

this method can be overridden to avoid filling-in a stacktrace indicating the location of the result

this method can be overridden to avoid filling-in a stacktrace indicating the location of the result

Inherited from:
MatchResultStackTrace
def theBlock(t: => Nothing): Expectable[Nothing]
Inherited from:
ExpectationsCreation
def theValue[T](t: => T): Expectable[T]
Inherited from:
ExpectationsCreation

Givens

Givens

Returns:

a TableHeader with one heading only

given given_Conversion_T_DataRow1[T]: given_Conversion_T_DataRow1[T]
Returns:

a DataRow with one value only

Extensions

Extensions

extension [A](f: Future[A])
def run: A