diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-02-28 00:56:31 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-02-28 00:56:31 -0600 |
commit | 9865dab47611f273afca788e1bd1116007448a1f (patch) | |
tree | 7bce2fb1d567e0b1fd9c01d14c32704422c1afa2 /src/main | |
parent | 561155bc9119c6b3836ea595a45d18a902d90ca2 (diff) | |
download | scala-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.scala | 10 | ||||
-rw-r--r-- | src/main/scala/org/perl8/test/package.scala | 31 | ||||
-rw-r--r-- | src/main/scala/org/perl8/test/tap/Consumer.scala | 2 | ||||
-rw-r--r-- | src/main/scala/org/perl8/test/tap/TestBuilder.scala | 27 |
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 = |