summaryrefslogtreecommitdiff
path: root/src/test/scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-10-31 08:35:46 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2017-10-31 08:35:46 -0700
commit33ee29edc7dcf580099dfc7482737129ac2bddd0 (patch)
treed87c1628ab05125a304177a4ecbcf58e75bde8b1 /src/test/scala
parent405fa45fb0f2fe2a5d7d8f0f7ebd8f112fc7cd70 (diff)
downloadmill-33ee29edc7dcf580099dfc7482737129ac2bddd0.tar.gz
mill-33ee29edc7dcf580099dfc7482737129ac2bddd0.tar.bz2
mill-33ee29edc7dcf580099dfc7482737129ac2bddd0.zip
Sketched out structure of Scala subprojects
Diffstat (limited to 'src/test/scala')
-rw-r--r--src/test/scala/forge/EvaluationTests.scala6
-rw-r--r--src/test/scala/forge/GraphTests.scala6
-rw-r--r--src/test/scala/forge/TestGraphs.scala2
-rw-r--r--src/test/scala/forge/TestUtil.scala20
4 files changed, 25 insertions, 9 deletions
diff --git a/src/test/scala/forge/EvaluationTests.scala b/src/test/scala/forge/EvaluationTests.scala
index 313ceaaa..fe5d0b09 100644
--- a/src/test/scala/forge/EvaluationTests.scala
+++ b/src/test/scala/forge/EvaluationTests.scala
@@ -78,7 +78,7 @@ object EvaluationTests extends TestSuite{
up.counter += 1
check(down, expValue = 2, expEvaled = OSet(up, middle, down))
- middle.asInstanceOf[Target.Test].counter += 1
+ middle.asInstanceOf[TestUtil.Test].counter += 1
check(down, expValue = 3, expEvaled = OSet(middle, down))
}
@@ -103,8 +103,8 @@ object EvaluationTests extends TestSuite{
'anonDiamond - {
import anonDiamond._
val check = new Checker(anonDiamond)
- val left = down.inputs(0).asInstanceOf[Target.Test]
- val right = down.inputs(1).asInstanceOf[Target.Test]
+ val left = down.inputs(0).asInstanceOf[TestUtil.Test]
+ val right = down.inputs(1).asInstanceOf[TestUtil.Test]
check(down, expValue = 0, expEvaled = OSet(up, left, right, down))
down.counter += 1
diff --git a/src/test/scala/forge/GraphTests.scala b/src/test/scala/forge/GraphTests.scala
index d197fb5f..ec84218f 100644
--- a/src/test/scala/forge/GraphTests.scala
+++ b/src/test/scala/forge/GraphTests.scala
@@ -1,7 +1,7 @@
package forge
import utest._
-import Target.test
+import TestUtil.test
import forge.util.OSet
object GraphTests extends TestSuite{
@@ -79,8 +79,8 @@ object GraphTests extends TestSuite{
'groupAroundNamedTargets - {
def check[T: Discovered](base: T,
- target: Target.Test,
- expected: OSet[(OSet[Target.Test], Int)]) = {
+ target: TestUtil.Test,
+ expected: OSet[(OSet[TestUtil.Test], Int)]) = {
val mapping = Discovered.mapping(base)
val topoSortedTransitive = Evaluator.topoSortedTransitiveTargets(OSet(target))
diff --git a/src/test/scala/forge/TestGraphs.scala b/src/test/scala/forge/TestGraphs.scala
index 8dac142c..0ee48a18 100644
--- a/src/test/scala/forge/TestGraphs.scala
+++ b/src/test/scala/forge/TestGraphs.scala
@@ -1,6 +1,6 @@
package forge
-import forge.Target.test
+import forge.TestUtil.test
class TestGraphs(){
// single
diff --git a/src/test/scala/forge/TestUtil.scala b/src/test/scala/forge/TestUtil.scala
index 8405c87c..9337fbe0 100644
--- a/src/test/scala/forge/TestUtil.scala
+++ b/src/test/scala/forge/TestUtil.scala
@@ -1,12 +1,28 @@
package forge
-import forge.util.OSet
+import forge.util.{Args, OSet}
import utest.assert
-
import scala.collection.mutable
object TestUtil {
+ def test(inputs: Target[Int]*) = {
+ new Test(inputs, pure = inputs.nonEmpty)
+ }
+ /**
+ * A dummy target that takes any number of inputs, and whose output can be
+ * controlled externally, so you can construct arbitrary dataflow graphs and
+ * test how changes propagate.
+ */
+ class Test(val inputs: Seq[Target[Int]],
+ val pure: Boolean) extends Target[Int]{
+ var counter = 0
+ def evaluate(args: Args) = {
+ counter + args.args.map(_.asInstanceOf[Int]).sum
+ }
+
+ override def sideHash = counter
+ }
def checkTopological(targets: OSet[Target[_]]) = {
val seen = mutable.Set.empty[Target[_]]
for(t <- targets.items.reverseIterator){