Initial commit
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
package encapsulation;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class RPNCalcTest{
|
||||
|
||||
private RPNCalc calc;
|
||||
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
calc = new RPNCalc();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPush() {
|
||||
calc.push(1.0);
|
||||
Assertions.assertEquals(1.0, calc.peek(0));
|
||||
|
||||
calc.push(2.0);
|
||||
Assertions.assertEquals(2.0, calc.peek(0));
|
||||
|
||||
calc.push(3.0);
|
||||
Assertions.assertEquals(3.0, calc.peek(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPop() {
|
||||
calc.push(1.0);
|
||||
calc.push(2.0);
|
||||
calc.push(3.0);
|
||||
Assertions.assertEquals(3.0, calc.peek(0));
|
||||
|
||||
Assertions.assertEquals(3.0, calc.pop());
|
||||
Assertions.assertEquals(2.0, calc.peek(0));
|
||||
|
||||
Assertions.assertEquals(2.0, calc.pop());
|
||||
Assertions.assertEquals(1.0, calc.peek(0));
|
||||
|
||||
calc.push(2.0);
|
||||
Assertions.assertEquals(2.0, calc.peek(0));
|
||||
|
||||
Assertions.assertEquals(2.0, calc.pop());
|
||||
Assertions.assertEquals(1.0, calc.peek(0));
|
||||
|
||||
Assertions.assertEquals(1.0, calc.pop());
|
||||
Assertions.assertEquals(0, calc.getSize());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPeek() {
|
||||
calc.push(0.0);
|
||||
calc.push(1.0);
|
||||
calc.push(2.0);
|
||||
Assertions.assertEquals(2.0, calc.peek(0));
|
||||
Assertions.assertEquals(1.0, calc.peek(1));
|
||||
Assertions.assertEquals(0.0, calc.peek(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEmptyStack() {
|
||||
Assertions.assertEquals(Double.NaN, calc.peek(3));
|
||||
Assertions.assertEquals(Double.NaN, calc.peek(-1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSize() {
|
||||
Assertions.assertEquals(0, calc.getSize());
|
||||
calc.push(1.0);
|
||||
Assertions.assertEquals(1, calc.getSize());
|
||||
calc.push(2.0);
|
||||
Assertions.assertEquals(2, calc.getSize());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddOperation() {
|
||||
calc.push(3.0);
|
||||
calc.push(4.0);
|
||||
calc.performOperation('+');
|
||||
Assertions.assertEquals(1, calc.getSize());
|
||||
Assertions.assertEquals(7.0, calc.peek(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSubOperation() {
|
||||
calc.push(7.0);
|
||||
calc.push(2.0);
|
||||
calc.performOperation('-');
|
||||
Assertions.assertEquals(1, calc.getSize());
|
||||
Assertions.assertEquals(5.0, calc.peek(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMultOperation() {
|
||||
calc.push(5.0);
|
||||
calc.push(2.0);
|
||||
calc.performOperation('*');
|
||||
Assertions.assertEquals(1, calc.getSize());
|
||||
Assertions.assertEquals(10.0, calc.peek(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDivOperation() {
|
||||
calc.push(10.0);
|
||||
calc.push(4.0);
|
||||
calc.performOperation('/');
|
||||
Assertions.assertEquals(1, calc.getSize());
|
||||
Assertions.assertEquals(2.5, calc.peek(0));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user