aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-02-28 00:56:31 -0600
committerJesse Luehrs <doy@tozt.net>2013-02-28 00:56:31 -0600
commit9865dab47611f273afca788e1bd1116007448a1f (patch)
tree7bce2fb1d567e0b1fd9c01d14c32704422c1afa2 /src/main
parent561155bc9119c6b3836ea595a45d18a902d90ca2 (diff)
downloadscala-test-more-9865dab47611f273afca788e1bd1116007448a1f.tar.gz
scala-test-more-9865dab47611f273afca788e1bd1116007448a1f.zip
stop using Option[Plan]
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/org/perl8/test/TestMore.scala10
-rw-r--r--src/main/scala/org/perl8/test/package.scala31
-rw-r--r--src/main/scala/org/perl8/test/tap/Consumer.scala2
-rw-r--r--src/main/scala/org/perl8/test/tap/TestBuilder.scala27
4 files changed, 37 insertions, 33 deletions
diff --git a/src/main/scala/org/perl8/test/TestMore.scala b/src/main/scala/org/perl8/test/TestMore.scala
index dc9c0ef..98962b0 100644
--- a/src/main/scala/org/perl8/test/TestMore.scala
+++ b/src/main/scala/org/perl8/test/TestMore.scala
@@ -4,10 +4,7 @@ import scala.util.matching.Regex
import org.perl8.test.tap.TestBuilder
-class TestMore (plan: Option[Plan] = None) extends Test with DelayedInit {
- def this (plan: Plan) =
- this(Some(plan))
-
+class TestMore (plan: Plan = NoPlan) extends Test with DelayedInit {
def delayedInit (body: => Unit) {
testBody = { terminalInUse =>
todo = NoMessage
@@ -113,12 +110,9 @@ class TestMore (plan: Option[Plan] = None) extends Test with DelayedInit {
}
}
- def subtest (name: Message, plan: Plan)(body: => Unit): Boolean =
- subtest(name, Some(plan))(body)
-
def subtest (
name: Message,
- plan: Option[Plan] = None
+ plan: Plan = NoPlan
)(body: => Unit): Boolean = {
val oldBuilder = builder
val success = try {
diff --git a/src/main/scala/org/perl8/test/package.scala b/src/main/scala/org/perl8/test/package.scala
index aa01f0e..2a39eb4 100644
--- a/src/main/scala/org/perl8/test/package.scala
+++ b/src/main/scala/org/perl8/test/package.scala
@@ -15,22 +15,31 @@ package object test {
val message: Option[String]
}
- case class NumericPlan (
- override val plan: Int
- ) extends Plan {
- override val skipAll = false
- override val message = None
+ case class NumericPlan (plan: Int) extends Plan {
+ val skipAll = false
+ val message = None
}
- case class SkipAll (
- override val message: Option[String] = None
- ) extends Plan {
- override val plan = 0
- override val skipAll = true
+ case object NoPlan extends Plan {
+ val plan = 0
+ val skipAll = false
+ val message = None
+ }
+
+ case class SkipAll (msg: String) extends Plan {
+ val plan = 0
+ val skipAll = true
+ val message = Some(msg)
+ }
+
+ case object SkipAllNoMessage extends Plan {
+ val plan = 0
+ val skipAll = true
+ val message = None
}
object SkipAll {
- def apply (reason: String) = new SkipAll(Some(reason))
+ def apply () = SkipAllNoMessage
}
sealed trait Message
diff --git a/src/main/scala/org/perl8/test/tap/Consumer.scala b/src/main/scala/org/perl8/test/tap/Consumer.scala
index 49f642d..e9fd6d4 100644
--- a/src/main/scala/org/perl8/test/tap/Consumer.scala
+++ b/src/main/scala/org/perl8/test/tap/Consumer.scala
@@ -125,7 +125,7 @@ object Consumer {
class TAPResult (val plan: Plan, val results: Seq[TestResult]) {
val correctPlan = plan match {
case NumericPlan(n) => results.length == n
- case SkipAll(_) => results.length == 0
+ case _ => results.length == 0
}
val fails = results.count { r =>
diff --git a/src/main/scala/org/perl8/test/tap/TestBuilder.scala b/src/main/scala/org/perl8/test/tap/TestBuilder.scala
index 26fb5d6..432f902 100644
--- a/src/main/scala/org/perl8/test/tap/TestBuilder.scala
+++ b/src/main/scala/org/perl8/test/tap/TestBuilder.scala
@@ -3,19 +3,19 @@ package org.perl8.test.tap
import org.perl8.test._
class TestBuilder private (
- plan: Option[Plan],
+ plan: Plan,
indent: String,
terminalInUse: Boolean
) {
- plan.foreach(p => outLine(Producer.plan(p)))
+ plan match {
+ case NoPlan => ()
+ case p => outLine(Producer.plan(p))
+ }
- def this (plan: Option[Plan], terminalInUse: Boolean) =
+ def this (plan: Plan = NoPlan, terminalInUse: Boolean = false) =
this(plan, "", terminalInUse)
- def this (plan: Option[Plan]) =
- this(plan, "", false)
-
- def cloneForSubtest (newPlan: Option[Plan]): TestBuilder =
+ def cloneForSubtest (newPlan: Plan): TestBuilder =
new TestBuilder(newPlan, indent + " ", terminalInUse)
def ok (
@@ -51,15 +51,15 @@ class TestBuilder private (
def doneTesting: Boolean = {
plan match {
- case None => outLine(Producer.plan(state.currentTest - 1))
- case _ => ()
+ case NoPlan => outLine(Producer.plan(state.currentTest - 1))
+ case _ => ()
}
if (!state.isPassing) {
if (!state.matchesPlan) {
val planCount = (plan match {
- case Some(p) => p.plan
- case None => state.currentTest - 1
+ case NoPlan => state.currentTest - 1
+ case p => p.plan
})
val planned = planCount + " test" + (if (planCount > 1) "s" else "")
val ran = state.currentTest - 1
@@ -128,8 +128,9 @@ class TestBuilder private (
def currentTest: Int =
failCount + passCount + 1
- def matchesPlan: Boolean = plan.forall { p =>
- p.plan == failCount + passCount
+ def matchesPlan: Boolean = plan match {
+ case NumericPlan(p) => p.plan == failCount + passCount
+ case _ => true
}
def isPassing: Boolean =