Sha256: 6734eea7f807a1f66bab279b13bfd7ce9e8dc5bfb3f09b3adaa63420fb0cb457

Contents?: true

Size: 1.7 KB

Versions: 12

Compression:

Stored size: 1.7 KB

Contents

import org.scalatest.{Matchers, FlatSpec}

class BstTest extends FlatSpec with Matchers {
  val bst4 = Bst(4)

  it should "retain data" in {
    bst4.value should equal(4)
  }

  it should "retain data - char" in {
    Bst('d').value should equal('d')
  }

  it should "insert less" in {
    bst4.insert(2).left.get.value should equal(2)
  }

  it should "insert less - char" in {
    Bst('d').insert('a').left.get.value should equal('a')
  }

  it should "insert same" in {
    bst4.insert(4).left.get.value should equal(4)
  }

  it should "insert greater than" in {
    bst4.insert(5).right.get.value should equal(5)
  }

  it should "handle complex tree - sort out of order list" in {
    val bst = Bst.fromList(List(4, 2, 6, 1, 3, 7, 5))
    Bst.toList(bst) should equal((1 to 7).toList)

    bst.value should equal(4)
    bst.left.get.value should equal(2)
    bst.left.get.left.get.value should equal(1)
    bst.left.get.right.get.value should equal(3)
    bst.right.get.value should equal(6)
    bst.right.get.left.get.value should equal(5)
    bst.right.get.right.get.value should equal(7)
  }

  it should "iterating one element" in {
    Bst.toList(bst4) should equal(List(4))
  }

  it should "iterating over smaller element" in {
    Bst.toList(Bst.fromList(List(4, 2))) should equal(List(2, 4))
  }

  it should "iterating over larger element" in {
    Bst.toList(Bst.fromList(List(4, 5))) should equal(List(4, 5))
  }

  it should "iterating over complex tree" in {
    Bst.toList(Bst.fromList(List(4, 2, 1, 3, 6, 7, 5))) should equal((1 to 7).toList)
  }

  it should "iterating over complex tree - chars" in {
    Bst.toList(Bst.fromList(List('d', 'b', 'a', 'c', 'f', 'g', 'e'))) should
      equal(('a' to 'g').toList)
  }
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
trackler-2.0.0.1 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-2.0.0.0 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.4.1 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.4.0 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.3.0 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.2.1 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.2.0 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.1.2 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.1.1 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.1.0 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.0.1 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala
trackler-1.0.0 tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala