Nantes Université

Skip to content
Extraits de code Groupes Projets
TestIte4InOrders.kt 1,06 ko
Newer Older
Arnaud LANOIX's avatar
Arnaud LANOIX a validé
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())
    }
}