Skip to content

Commit dcd61f5

Browse files
committed
Added Treap class and test for the same
1 parent b7fa014 commit dcd61f5

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package com.thealgorithms.datastructures.trees;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class TreapTest {
8+
9+
@Test
10+
void arrayBuild() {
11+
int[] arr = {5, 9, 6, 2, 3, 8, 1};
12+
Treap treap = new Treap(arr);
13+
assertEquals("{1,2,3,5,6,8,9,}", treap.inOrder());
14+
}
15+
16+
@Test
17+
void build() {
18+
Treap treap = new Treap();
19+
treap.insert(4);
20+
treap.insert(5);
21+
treap.insert(9);
22+
treap.insert(2);
23+
assertEquals("{2,4,5,9,}", treap.inOrder());
24+
}
25+
26+
@Test
27+
void delete() {
28+
int[] arr = {5, 9, 6, 2, 3, 8, 1};
29+
Treap treap = new Treap(arr);
30+
treap.delete(5);
31+
assertEquals("{1,2,3,6,8,9,}", treap.inOrder());
32+
}
33+
34+
@Test
35+
void searchAndFound() {
36+
int[] arr = {5, 9, 6, 2, 3, 8, 1};
37+
Treap treap = new Treap(arr);
38+
assertEquals(5, treap.search(5).value());
39+
}
40+
41+
@Test
42+
void searchAndNotFound() {
43+
int[] arr = {5, 9, 6, 2, 3, 8, 1};
44+
Treap treap = new Treap(arr);
45+
assertEquals(null, treap.search(4));
46+
}
47+
48+
@Test
49+
void lowerBound() {
50+
int[] arr = {5, 9, 6, 2, 3, 8, 1};
51+
Treap treap = new Treap(arr);
52+
assertEquals(5, treap.lowerBound(4));
53+
}
54+
55+
@Test
56+
void upperBound() {
57+
int[] arr = {5, 9, 6, 2, 3, 8, 1};
58+
Treap treap = new Treap(arr);
59+
assertEquals(6, treap.upperBound(5));
60+
}
61+
62+
@Test
63+
void misc() {
64+
int[] arr = {5, 9, 6, 2, 3, 8, 1};
65+
Treap treap = new Treap(arr);
66+
assertEquals(7, treap.size());
67+
assertEquals(false, treap.isEmpty());
68+
}
69+
}

0 commit comments

Comments
 (0)