예제 #1
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());
 }
예제 #2
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
  }