diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-29 06:26:21 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-29 06:26:21 -0700 |
commit | 2b5e8e879e9476e07793f9c98dd56f30d38a127d (patch) | |
tree | 8975dfd5c6ba3965a10caa24b386c650649f394d /src/test/scala/forge/EvaluationTests.scala | |
parent | b537a23436549fc8dbadbdca2714487933516b02 (diff) | |
download | mill-2b5e8e879e9476e07793f9c98dd56f30d38a127d.tar.gz mill-2b5e8e879e9476e07793f9c98dd56f30d38a127d.tar.bz2 mill-2b5e8e879e9476e07793f9c98dd56f30d38a127d.zip |
Add `bigSingleTerminal` to the `EvaluationTests`
Diffstat (limited to 'src/test/scala/forge/EvaluationTests.scala')
-rw-r--r-- | src/test/scala/forge/EvaluationTests.scala | 29 |
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) + } } + + } } |