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.
Companion object that facilitates the importing of
Tablesmembers as an alternative to mixing it in. One use case is to importTablesmembers 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))