diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-31 08:35:46 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-10-31 08:35:46 -0700 |
commit | 33ee29edc7dcf580099dfc7482737129ac2bddd0 (patch) | |
tree | d87c1628ab05125a304177a4ecbcf58e75bde8b1 /src/test/scala/forge/TestUtil.scala | |
parent | 405fa45fb0f2fe2a5d7d8f0f7ebd8f112fc7cd70 (diff) | |
download | mill-33ee29edc7dcf580099dfc7482737129ac2bddd0.tar.gz mill-33ee29edc7dcf580099dfc7482737129ac2bddd0.tar.bz2 mill-33ee29edc7dcf580099dfc7482737129ac2bddd0.zip |
Sketched out structure of Scala subprojects
Diffstat (limited to 'src/test/scala/forge/TestUtil.scala')
-rw-r--r-- | src/test/scala/forge/TestUtil.scala | 20 |
1 files changed, 18 insertions, 2 deletions
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){ |