Newer
Older
import but3.collections.IterativeBinarySearchTree
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.ValueSource
class TestIte4InOrders {
lateinit var bst: IterativeBinarySearchTree<Int>
@BeforeEach
fun initialise() {
bst = IterativeBinarySearchTree()
}
@Test
fun empty() {
Assertions.assertEquals(emptyList<Int>(), bst.inorderKeys())
}
@ParameterizedTest(name = "element added : {0}")
@ValueSource(ints = [10, 3, 5, 7, 100, 30, 20, 45, 50, 48, 60, 10000])
fun element1(added: Int) {
bst.addB(added)
Assertions.assertEquals(listOf(added), bst.inorderKeys())
}
@Test
fun notEmptyFactory() {
bst = IterativeBinarySearchTree.buildFrom(10, 3, 5, 7, 100, 30, 20, 45, 50, 48, 60, 10000)
val expected = listOf(3, 5, 7, 10, 20, 30, 45, 48, 50, 60, 100, 10000)
Assertions.assertIterableEquals(expected, bst.inorderKeys())
}
}