Skip to content

Commit 1adbd15

Browse files
committed
Added LeonardoHeapTest.java
1 parent 645b29c commit 1adbd15

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
package com.thealgorithms.datastructures.heaps;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import org.junit.jupiter.api.Test;
5+
6+
public class LeonardoHeapTest {
7+
8+
@Test
9+
public <T extends Comparable<T>> void testEmpty() {
10+
LeonardoHeap<Integer> heap = new LeonardoHeap<Integer>();
11+
assertEquals(0, heap.getHeapsize());
12+
}
13+
14+
@Test
15+
public <T extends Comparable<T>> void testAddElement() {
16+
LeonardoHeap<Integer> heap = new LeonardoHeap<>();
17+
heap.addElement(5);
18+
heap.addElement(3);
19+
heap.addElement(8);
20+
21+
assertEquals(3, heap.getHeapsize());
22+
assertEquals(8, heap.removeElement()); // Max element should be 8
23+
}
24+
25+
@Test
26+
public void testRemoveElement() {
27+
LeonardoHeap<Integer> heap = new LeonardoHeap<>();
28+
heap.addElement(10);
29+
heap.addElement(20);
30+
heap.addElement(5);
31+
32+
assertEquals(20, heap.removeElement());
33+
assertEquals(10, heap.removeElement());
34+
assertEquals(5, heap.removeElement());
35+
}
36+
37+
@Test
38+
public void testHeapSize() {
39+
LeonardoHeap<Integer> heap = new LeonardoHeap<>();
40+
assertEquals(0, heap.getHeapsize());
41+
42+
heap.addElement(1);
43+
assertEquals(1, heap.getHeapsize());
44+
45+
heap.addElement(2);
46+
assertEquals(2, heap.getHeapsize());
47+
48+
heap.removeElement();
49+
assertEquals(1, heap.getHeapsize());
50+
51+
heap.removeElement();
52+
assertEquals(0, heap.getHeapsize());
53+
}
54+
55+
@Test
56+
public <T extends Comparable<T>> void testAddElementStrings() {
57+
LeonardoHeap<String> heap = new LeonardoHeap<String>();
58+
heap.addElement("z");
59+
heap.addElement("a");
60+
heap.addElement("x");
61+
heap.addElement("b");
62+
heap.addElement("y");
63+
64+
assertEquals(5, heap.getHeapsize());
65+
assertEquals("z", heap.removeElement()); // Max element should be 8
66+
}
67+
68+
@Test
69+
public void testRemoveElementString() {
70+
LeonardoHeap<String> heap = new LeonardoHeap<String>();
71+
heap.addElement("z");
72+
heap.addElement("a");
73+
heap.addElement("x");
74+
75+
assertEquals("z", heap.removeElement());
76+
assertEquals("x", heap.removeElement());
77+
assertEquals("a", heap.removeElement());
78+
}
79+
80+
@Test
81+
public void testHeapSizeString() {
82+
LeonardoHeap<String> heap = new LeonardoHeap<String>();
83+
assertEquals(0, heap.getHeapsize());
84+
85+
heap.addElement("z");
86+
assertEquals(1, heap.getHeapsize());
87+
88+
heap.addElement("a");
89+
assertEquals(2, heap.getHeapsize());
90+
91+
heap.removeElement();
92+
assertEquals(1, heap.getHeapsize());
93+
94+
heap.removeElement();
95+
assertEquals(0, heap.getHeapsize());
96+
}
97+
}

0 commit comments

Comments
 (0)