|
Scala example source code file (StrictTreeTestJVM.scala)
The StrictTreeTestJVM.scala Scala example source codepackage scalaz import scalaz.scalacheck.ScalazArbitrary._ import StrictTree._ import org.scalacheck.Gen import org.scalacheck.Prop.forAll import std.AllInstances._ object StrictTreeTestJVM extends SpecLite { val E = Equal[StrictTree[Int]] "ScalazArbitrary.strictTreeGenSized" ! forAll(Gen.choose(1, 200)){ size => val gen = strictTreeGenSized[Unit](size) Stream.continually(gen.sample).flatten.take(10).map(Foldable[StrictTree].length(_)).forall(_ == size) } def genTree(size: Int): StrictTree[Int] = (1 to size).foldLeft(Leaf(0))((x, y) => Node(y, Vector(x))) val size = 100000 val deepTree = genTree(size) "deep foldMap should not cause a stack overflow" ! { deepTree.foldMap(identity) true } "deep foldRight should not cause a stack overflow" ! { deepTree.foldRight[Int](0)(_ + _) true } "deep flatten should not cause a stack overflow" ! { deepTree.flatten true } "deep levels should not cause a stack overflow" ! { deepTree.levels true } "deep scanr should not cause a stack overflow" ! { def f(a: Int, b: Seq[StrictTree[Int]]): Int = a + b.size deepTree.scanr[Int](f _) true } "deep size should not cause a stack overflow" ! { deepTree.size true } "deep Equal.equal should not cause a stack overflow" ! { E.equal(deepTree, deepTree) } "deep hashCode should not cause a stack overflow" ! { deepTree.hashCode true } "deep equals should not cause a stack overflow" ! { deepTree.equals(deepTree) } "deep toTree should not cause a stack overflow" ! { deepTree.toTree true } "deep map should not cause a stack overflow" ! { deepTree.map(_ + 1) true } "deep flatMap should not cause a stack overflow" ! { deepTree.flatMap(Leaf(_)) true } "deep align should not cause a stack overflow" ! { Align[StrictTree].align(deepTree, deepTree) true } "deep zip should not cause a stack overflow" ! { Zip[StrictTree].zip(deepTree, deepTree) true } "deep unzip should not cause a stack overflow" ! { Zip[StrictTree].zip(deepTree, deepTree).unzip true } } Other Scala examples (source code examples)Here is a short list of links related to this Scala StrictTreeTestJVM.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.