import adt._
import cats._
import derived._
import cats.Show
import cats.instances.all._
import estrapade._
import magnolia._
object Gen extends TestApp {
val latin = Latin(
Letter("one", "two"),
Letter("three", "four"),
Letter("five", "six"),
Letter("seven", "eight"),
Letter("nine", "ten"),
Letter("eleven", "twelve"),
Letter("one", "two"),
Letter("three", "four"),
Letter("five", "six"),
Letter("seven", "eight"),
Letter("nine", "ten"),
Letter("eleven", "twelve"),
Letter("one", "two"),
Letter("three", "four"),
Letter("five", "six"),
Letter("seven", "eight"),
Letter("nine", "ten"),
Letter("eleven", "twelve"),
Letter("one", "two"),
Letter("three", "four"),
Letter("five", "six"),
Letter("seven", "eight")
)
def tests() = {
println("Warming up JVM")
var n = 0
var s: Any = null
while (n < 5000000) {
s = derive.show[Latin] //.show(latin)
s = magnolia.examples.Show.generic[Latin] //.show(latin)
n += 1
}
println("Warm")
test("Kittens") {
var n = 0
var s: Any = null
while (n < 1000000) {
s = derive.show[Latin] //.show(latin)
n += 1
}
}.returns()
test("Magnolia") {
var n = 0
var s: Any = null
while (n < 1000000) {
s = magnolia.examples.Show.generic[Latin] //.show(latin)
n += 1
}
}.returns()
}
}