예제 #1
0
 @Test
 public void testPush() {
   stack = new StackWithMin<>();
   stack.push(0);
   stack.push(-1);
   stack.push(1);
   stack.push(-1);
   stack.push(0);
   stack.push(8);
   stack.push(0);
   stack.push(7);
   Assert.assertEquals(new Integer(-1), stack.min());
 }
예제 #2
0
 public static void main(String[] args) {
   StackWithMin withMin = new StackWithMin();
   withMin.push(3);
   withMin.push(4);
   withMin.push(1);
   withMin.push(1);
   withMin.push(2);
   withMin.push(5);
   withMin.pop();
   withMin.pop();
   withMin.pop();
   System.out.println(withMin.min());
 }
예제 #3
0
  @Test(expected = IndexOutOfBoundsException.class)
  public void testPop() {
    testPush();
    Assert.assertEquals(7, (int) stack.pop());
    Assert.assertEquals(-1, (int) stack.min());

    Assert.assertEquals(0, (int) stack.pop());
    Assert.assertEquals(-1, (int) stack.min());

    Assert.assertEquals(8, (int) stack.pop());
    Assert.assertEquals(-1, (int) stack.min());

    Assert.assertEquals(0, (int) stack.pop());
    Assert.assertEquals(-1, (int) stack.min());

    Assert.assertEquals(-1, (int) stack.pop());
    Assert.assertEquals(-1, (int) stack.min());

    Assert.assertEquals(1, (int) stack.pop());
    Assert.assertEquals(-1, (int) stack.min());

    Assert.assertEquals(-1, (int) stack.pop());
    Assert.assertEquals(0, (int) stack.min());

    Assert.assertEquals(0, (int) stack.pop());
    stack.min(); // exception
  }