Skip to content

Commit 2ec74a9

Browse files
committed
added more JUnit tests
1 parent d9c754e commit 2ec74a9

File tree

4 files changed

+49
-6
lines changed

4 files changed

+49
-6
lines changed

src/main/java/com/thealgorithms/stacks/GreatestElementConstantTime.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void push(int data) {
3737
}
3838

3939
mainStack.push(data);
40-
if (data > maxStack.peek()) {
40+
if (!maxStack.isEmpty() && data > maxStack.peek()) {
4141
maxStack.push(data);
4242
}
4343
}
@@ -55,7 +55,7 @@ public void pop() {
5555
}
5656

5757
int ele = mainStack.pop();
58-
if (ele == maxStack.peek()) {
58+
if (!maxStack.isEmpty() && ele == maxStack.peek()) {
5959
maxStack.pop();
6060
}
6161
}

src/main/java/com/thealgorithms/stacks/SmallestElementConstantTime.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void push(int data) {
3535
}
3636

3737
mainStack.push(data);
38-
if (data < minStack.peek()) {
38+
if (!minStack.isEmpty() && data < minStack.peek()) {
3939
minStack.push(data);
4040
}
4141
}
@@ -53,7 +53,7 @@ public void pop() {
5353
}
5454

5555
int ele = mainStack.pop();
56-
if (ele == minStack.peek()) {
56+
if (!minStack.isEmpty() && ele == minStack.peek()) {
5757
minStack.pop();
5858
}
5959
}

src/test/java/com/thealgorithms/stacks/GreatestElementConstantTimeTest.java

+22-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package com.thealgorithms.stacks;
22

3-
import static org.junit.jupiter.api.Assertions.assertEquals;
43
import org.junit.jupiter.api.BeforeEach;
54
import org.junit.jupiter.api.Test;
65

6+
import java.util.NoSuchElementException;
7+
8+
import static org.junit.jupiter.api.Assertions.*;
9+
710
public class GreatestElementConstantTimeTest {
811

912
private GreatestElementConstantTime gect;
@@ -33,4 +36,22 @@ public void testMinTwo() {
3336
gect.pop();
3437
assertEquals(10, gect.getMaximumElement());
3538
}
39+
40+
@Test
41+
public void testNullMax() {
42+
gect.push(10);
43+
gect.push(20);
44+
gect.pop();
45+
gect.pop();
46+
assertNull(gect.getMaximumElement());
47+
}
48+
49+
@Test
50+
public void testBlankHandle() {
51+
gect.push(10);
52+
gect.push(1);
53+
gect.pop();
54+
gect.pop();
55+
assertThrows(NoSuchElementException.class, () -> gect.pop());
56+
}
3657
}

src/test/java/com/thealgorithms/stacks/SmallestElementConstantTimeTest.java

+23-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package com.thealgorithms.stacks;
22

3-
import static org.junit.jupiter.api.Assertions.assertEquals;
43
import org.junit.jupiter.api.BeforeEach;
54
import org.junit.jupiter.api.Test;
65

6+
import java.util.NoSuchElementException;
7+
8+
import static org.junit.jupiter.api.Assertions.*;
9+
710
public class SmallestElementConstantTimeTest {
811

912
private SmallestElementConstantTime sect;
@@ -32,4 +35,23 @@ public void testMinTwo() {
3235
sect.pop();
3336
assertEquals(5, sect.getMinimumElement());
3437
}
38+
39+
@Test
40+
public void testNullMin() {
41+
sect.push(10);
42+
sect.push(20);
43+
sect.pop();
44+
sect.pop();
45+
assertNull(sect.getMinimumElement());
46+
}
47+
48+
@Test
49+
public void testBlankHandle() {
50+
sect.push(10);
51+
sect.push(1);
52+
sect.pop();
53+
sect.pop();
54+
assertThrows(NoSuchElementException.class, () -> sect.pop());
55+
}
56+
3557
}

0 commit comments

Comments
 (0)