summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-10-29 06:26:21 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2017-10-29 06:26:21 -0700
commit2b5e8e879e9476e07793f9c98dd56f30d38a127d (patch)
tree8975dfd5c6ba3965a10caa24b386c650649f394d /src/test
parentb537a23436549fc8dbadbdca2714487933516b02 (diff)
downloadmill-2b5e8e879e9476e07793f9c98dd56f30d38a127d.tar.gz
mill-2b5e8e879e9476e07793f9c98dd56f30d38a127d.tar.bz2
mill-2b5e8e879e9476e07793f9c98dd56f30d38a127d.zip
Add `bigSingleTerminal` to the `EvaluationTests`
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/forge/EvaluationTests.scala29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/test/scala/forge/EvaluationTests.scala b/src/test/scala/forge/EvaluationTests.scala
index 2fde2ce0..7b47646c 100644
--- a/src/test/scala/forge/EvaluationTests.scala
+++ b/src/test/scala/forge/EvaluationTests.scala
@@ -19,11 +19,17 @@ object EvaluationTests extends TestSuite{
workspace,
implicitly[Discovered[T]].apply(base).map(_.swap).toMap
)
- def apply(target: Target[_], expValue: Any, expEvaled: OSet[Target[_]]) = {
+ def apply(target: Target[_], expValue: Any,
+ expEvaled: OSet[Target[_]],
+ extraEvaled: Int = 0) = {
val Evaluator.Results(returnedValues, returnedEvaluated) = evaluator.evaluate(OSet(target))
+
+ val (matchingReturnedEvaled, extra) = returnedEvaluated.items.partition(expEvaled.contains)
+
assert(
returnedValues == Seq(expValue),
- returnedEvaluated == expEvaled
+ matchingReturnedEvaled.toSet == expEvaled.toSet,
+ extra.length == extraEvaled
)
// Second time the value is already cached, so no evaluation needed
val Evaluator.Results(returnedValues2, returnedEvaluated2) = evaluator.evaluate(OSet(target))
@@ -111,11 +117,26 @@ object EvaluationTests extends TestSuite{
right.counter += 1
check(down, expValue = 5, expEvaled = OSet(left, right, down))
}
- }
+ 'bigSingleTerminal - {
+ import bigSingleTerminal._
+ val check = new Checker(bigSingleTerminal)
+
+ check(j, expValue = 0, expEvaled = OSet(a, b, e, f, i, j), extraEvaled = 22)
- 'full - {
+ j.counter += 1
+ check(j, expValue = 1, expEvaled = OSet(j), extraEvaled = 3)
+ i.counter += 1
+ // increment value by 2 because `i` is used twice on the way to `j`
+ check(j, expValue = 3, expEvaled = OSet(j, i), extraEvaled = 8)
+
+ b.counter += 1
+ // increment value by 4 because `b` is used four times on the way to `j`
+ check(j, expValue = 7, expEvaled = OSet(b, e, f, i, j), extraEvaled = 20)
+ }
}
+
+
}
}