sbt/cache/src/test/scala/CacheTest.scala

31 lines
770 B
Scala
Raw Normal View History

package sbt
2009-08-16 20:29:08 +02:00
import java.io.File
import Types.:+:
2009-08-16 20:29:08 +02:00
2014-05-07 17:52:23 +02:00
object CacheTest // extends Properties("Cache test")
2009-08-16 20:29:08 +02:00
{
2014-05-07 17:52:23 +02:00
val lengthCache = new File("/tmp/length-cache")
val cCache = new File("/tmp/c-cache")
2009-12-12 00:56:09 +01:00
2014-05-07 17:52:23 +02:00
import Cache._
import FileInfo.hash._
import Ordering._
import sbinary.DefaultProtocol.FileFormat
def test {
lazy val create = new File("test")
2009-08-16 20:29:08 +02:00
2014-05-07 17:52:23 +02:00
val length = cached(lengthCache) {
(f: File) => { println("File length: " + f.length); f.length }
}
2009-12-12 00:56:09 +01:00
2014-05-07 17:52:23 +02:00
lazy val fileLength = length(create)
2009-12-12 00:56:09 +01:00
2014-05-07 17:52:23 +02:00
val c = cached(cCache) { (in: (File :+: Long :+: HNil)) =>
val file :+: len :+: HNil = in
println("File: " + file + " (" + file.exists + "), length: " + len)
(len + 1) :+: file :+: HNil
}
c(create :+: fileLength :+: HNil)
}
2009-08-16 20:29:08 +02:00
}