// Testet with
// Scala 2.8.0.RC5
// ScalaTest 1.2-for-scala-2.8.0.RC5-SNAPSHOT
// sbt 0.7.4
import org.scalatest._
import org.scalatest.matchers.ShouldMatchers
class Test extends FlatSpec with ShouldMatchers {
// works
"Test" should "work with boolean property" in {
"" should be('empty)
}
// works
it should "say that there is no property named fooable" in {
val thrown = evaluating {
"" should be('fooable)
} should produce [TestFailedException]
thrown.getMessage should include ("has neither a fooable nor an
isFooable method")
}
// works
it should "work with other properties" in {
class Foo(val name: String)
new Foo("michael") should have ('name ("michael"))
}
// throws IllegalArgumentException: can't parse argument number:
{0} ({1})
// see Stacktrace below
it should "say that there is no property named name" in {
val thrown = evaluating {
class Bar
new Bar() should have ('name ("nobody"))
} should produce [TestFailedException]
thrown.getMessage should include ("has neither name or getName
method")
}
}
java.lang.IllegalArgumentException: can't parse argument number: {0}
({1})
at java.text.MessageFormat.makeFormat(MessageFormat.java:1356)
at java.text.MessageFormat.applyPattern(MessageFormat.java:475)
at java.text.MessageFormat.<init>(MessageFormat.java:367)
at org.scalatest.Resources$.makeString(Resources.scala:32)
at org.scalatest.Resources$.apply(Resources.scala:36)
at org.scalatest.matchers.Matchers$HavePropertyMatcherGenerator$$anon
$29.apply(Matchers.scala:2559)
at org.scalatest.matchers.Matchers$HaveWord$$anon$30$$anonfun
$5.apply(Matchers.scala:2729)
at org.scalatest.matchers.Matchers$HaveWord$$anon$30$$anonfun
$5.apply(Matchers.scala:2728)
at scala.collection.TraversableLike$$anonfun$map
$1.apply(TraversableLike.scala:206)
at scala.collection.TraversableLike$$anonfun$map
$1.apply(TraversableLike.scala:206)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:
206)
at scala.collection.immutable.List.map(List.scala:45)
at org.scalatest.matchers.Matchers$HaveWord$$anon
$30.apply(Matchers.scala:2728)
at org.scalatest.matchers.ShouldMatchers$ShouldMethodHelper
$.shouldMatcher(ShouldMatchers.scala:870)
at org.scalatest.matchers.ShouldMatchers
$AnyRefShouldWrapper.should(ShouldMatchers.scala:1489)
at Test$$anonfun$5.apply$mcV$sp(Test.scala:34)
at Test$$anonfun$5.apply(Test.scala:31)
at Test$$anonfun$5.apply(Test.scala:31)
at org.scalatest.FlatSpec$$anon$2.apply(FlatSpec.scala:2563)
at org.scalatest.Suite$class.withFixture(Suite.scala:1509)
at Test.withFixture(Test.scala:9)
at org.scalatest.FlatSpec$class.runTest(FlatSpec.scala:2560)
at Test.runTest(Test.scala:9)
at org.scalatest.FlatSpec$$anonfun$org$scalatest$FlatSpec$
$runTestsInBranch$1.apply(FlatSpec.scala:2485)
at org.scalatest.FlatSpec$$anonfun$org$scalatest$FlatSpec$
$runTestsInBranch$1.apply(FlatSpec.scala:2474)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at org.scalatest.FlatSpec$
class.org$scalatest$FlatSpec$
$runTestsInBranch(FlatSpec.scala:2473)
at org.scalatest.FlatSpec$$anonfun$org$scalatest$FlatSpec$
$runTestsInBranch$1.apply(FlatSpec.scala:2493)
at org.scalatest.FlatSpec$$anonfun$org$scalatest$FlatSpec$
$runTestsInBranch$1.apply(FlatSpec.scala:2474)
at scala.collection.LinearSeqOptimized
$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at org.scalatest.FlatSpec$
class.org$scalatest$FlatSpec$
$runTestsInBranch(FlatSpec.scala:2473)
at org.scalatest.FlatSpec$class.runTests(FlatSpec.scala:2687)
at Test.runTests(Test.scala:9)
at org.scalatest.Suite$class.run(Suite.scala:1804)
at Test.org$scalatest$FlatSpec$$super$run(Test.scala:9)
at org.scalatest.FlatSpec$class.run(FlatSpec.scala:2758)
at Test.run(Test.scala:9)
at org.scalatest.tools.ScalaTestFramework
$ScalaTestRunner.run(ScalaTestFramework.scala:40)
at sbt.TestRunner.run(TestFramework.scala:52)
at sbt.TestRunner.runTest$1(TestFramework.scala:66)
at sbt.TestRunner.run(TestFramework.scala:75)
at sbt.TestFramework$$anonfun$9$$anonfun$apply$11.runTest
$2(TestFramework.scala:192)
at sbt.TestFramework$$anonfun$9$$anonfun$apply$11$$anonfun$apply
$12.apply(TestFramework.scala:203)
at sbt.TestFramework$$anonfun$9$$anonfun$apply$11$$anonfun$apply
$12.apply(TestFramework.scala:203)
at sbt.NamedTestTask.run(TestFramework.scala:91)
at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask
$1.apply(ScalaProject.scala:187)
at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask
$1.apply(ScalaProject.scala:187)
at sbt.TaskManager$Task.invoke(TaskManager.scala:62)
at sbt.impl.RunTask.doRun$1(RunTask.scala:77)
at sbt.impl.RunTask.runTask(RunTask.scala:85)
at sbt.impl.RunTask.sbt$impl$RunTask$$runIfNotRoot(RunTask.scala:60)
at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:
48)
at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:
48)
at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:
131)
at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:
131)
at sbt.Control$.trapUnit(Control.scala:19)
at sbt.Distributor$Run$Worker.run(ParallelRunner.scala:131)