diff --git a/src/test/java/ch/hepia/structure/AppTest.java b/src/test/java/ch/hepia/structure/AppTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d90bd06967a5bdb54d616dbc4a3551674900715
--- /dev/null
+++ b/src/test/java/ch/hepia/structure/AppTest.java
@@ -0,0 +1,59 @@
+package ch.hepia.structure;
+
+import org.junit.jupiter.api.Test;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+
+class HeapTest {
+
+    @Test
+    void heapMainOperations() {
+        BinaryHeap test = new BinaryHeap(9);
+
+        //test push()
+        test.push(100);
+        test.push(19);
+        test.push(36);
+        test.push(17);
+        test.push(3);
+        test.push(25);
+        test.push(1);
+        test.push(2);
+        test.push(7);
+        assertEquals(test.heap, new int[]{100,19,36,17,3,25,1,2,7});
+
+        //test pop()
+        assertEquals(test.pop(), 100);
+        //assertEquals(test.heap, new int[]{19,36,17,3,25,1,2,7});
+
+        //test peek()
+        assertEquals(test.peek(), 100);
+
+        //test exists()
+        assertEquals(test.exists(3), true);
+
+        //test size()
+        assertEquals(test.size(), 8);
+
+        //test depth()
+        ssertEquals(test.depth(), 4);
+
+        //test addAll
+        BinaryHeap test2 = new BinaryHeap(9);
+        List<Integer> lst = new List<Integer>();
+        lst.addAll(Arrays.asList(100,19,36,17,3,25,1,2,7));
+        test2.addAll(lst);
+        assertEquals(test2.heap, new int[]{100,19,36,17,3,25,1,2,7});
+
+        //test isEmpty()
+        BinaryHeap test3 = new BinaryHeap(9);
+        assertEquals(test3.isEmpty(), true);
+
+        
+    }
+
+}