Tables

object Tables extends Tables

Companion object that facilitates the importing of Tables members as an alternative to mixing it in. One use case is to import Tables members so you can use them in the Scala interpreter:

Welcome to Scala version 2.8.0.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.

scala> import org.scalatest.prop.Tables._
import org.scalatest.prop.Tables._

scala> val examples =
 |   Table(
 |     ("a", "b"),
 |     (  1,   2),
 |     (  3,   4)
 |   )
examples: org.scalatest.prop.TableFor2[Int,Int] = TableFor2((1,2), (3,4))
Companion:
class
trait Tables
class Object
trait Matchable
class Any
Tables.type

Type members

Inherited classlikes

object Table

Object containing one apply factory method for each TableFor<n> class.

Object containing one apply factory method for each TableFor<n> class.

For example, you could create a table of 5 rows and 2 colums like this:

import org.scalatest.prop.Tables._

val examples =
 Table(
   ("a", "b"),
   (  1,   2),
   (  2,   4),
   (  4,   8),
   (  8,  16),
   ( 16,  32)
 )

Because you supplied 2 members in each tuple, the type you'll get back will be a TableFor2. If you wanted a table with just one column you could write this:

val moreExamples =
 Table(
   "powerOfTwo",
        1,
        2,
        4,
        8,
        16
 )

Or if you wanted a table with 10 columns and 10 rows, you could do this:

val multiplicationTable =
 Table(
   ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"),
   (  1,   2,   3,   4,   5,   6,   7,   8,   9,  10),
   (  2,   4,   6,   8,  10,  12,  14,  16,  18,  20),
   (  3,   6,   9,  12,  15,  18,  21,  24,  27,  30),
   (  4,   8,  12,  16,  20,  24,  28,  32,  36,  40),
   (  5,  10,  15,  20,  25,  30,  35,  40,  45,  50),
   (  6,  12,  18,  24,  30,  36,  42,  48,  54,  60),
   (  7,  14,  21,  28,  35,  42,  49,  56,  63,  70),
   (  8,  16,  24,  32,  40,  48,  56,  64,  72,  80),
   (  9,  18,  27,  36,  45,  54,  63,  72,  81,  90),
   ( 10,  20,  30,  40,  50,  60,  70,  80,  90, 100)
 )

The type of multiplicationTable would be TableFor10. You can pass the resulting tables to a forAll method (defined in trait PropertyChecks), to perform a property check with the data in the table. Or, because tables are sequences of tuples, you can treat them as a Seq.

Inherited from:
Tables