Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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 TestIte2SizeNbLeafs {
lateinit var bst: IterativeBinarySearchTree<Int>
@BeforeEach
fun initialise() {
bst = IterativeBinarySearchTree()
}
@Test
fun empty() {
Assertions.assertAll(
{ Assertions.assertTrue(bst.isEmpty()) },
{ Assertions.assertEquals(0, bst.height()) },
{ Assertions.assertFalse(bst.containsB(666)) },
{ Assertions.assertEquals(0, bst.size()) },
{ Assertions.assertEquals(0, bst.nbLeafs()) },
)
}
@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.assertAll(
{ Assertions.assertFalse(bst.isEmpty()) },
{ Assertions.assertEquals(0, bst.height()) },
{ Assertions.assertTrue(bst.containsB(added)) },
{ Assertions.assertEquals(1, bst.size()) },
{ Assertions.assertEquals(1, bst.nbLeafs()) },)
}
@Test
fun notEmpty() {
bst.addB(10)
bst.addB(3)
bst.addB(5)
bst.addB(7)
bst.addB(100)
bst.addB(30)
bst.addB(20)
bst.addB(45)
bst.addB(50)
bst.addB(48)
bst.addB(60)
bst.addB(10000)
Assertions.assertAll(
{ Assertions.assertFalse(bst.isEmpty()) },
{ Assertions.assertEquals(12, bst.size()) },
{ Assertions.assertEquals(5, bst.height()) },
{ Assertions.assertEquals(5, bst.nbLeafs()) },
)
}
@Test
fun notEmptyFactory() {
bst = IterativeBinarySearchTree.buildFrom(10, 3, 5, 7, 100, 30, 20, 45, 50, 48, 60, 10000)
Assertions.assertAll(
{ Assertions.assertFalse(bst.isEmpty()) },
{ Assertions.assertEquals(12, bst.size()) },
{ Assertions.assertEquals(5, bst.height()) },
{ Assertions.assertEquals(5, bst.nbLeafs()) },
)
}
}