/** A simple test to show that top() is working correctly when items are being pushed/popped */ @Ignore @Test public void testPushPopTop() { final StackIF<String> stack = makeStringStack(); stack.push(values[2]); assertEquals("The top item of the stack should be 'Three'", stack.top(), "Three"); stack.push(values[2]); stack.push(values[0]); stack.pop(); assertEquals("The top item of the stack should be 'Three'", stack.top(), "Three"); stack.pop(); stack.push(values[1]); stack.push(values[1]); stack.pop(); assertEquals("The top item of the stack should be 'Two'", stack.top(), "Two"); }
/** * Check that a newly created stack isn't full, and doesn't become full when we push several * things on it. In fact _no_ stack in this implementation should ever be full. * * <p>Note that this is a <em>classic</em> example of how testing can never <em>prove</em> that * code is correct. No matter how many items we push on this stack, we can never be sure that it * we just pushed <em>one</em> more on we could cause full to return true. */ @Ignore @Test public void testIsFull() { final StackIF<Integer> stack = makeIntegerStack(); assertFalse("Stacks should never be full", stack.isFull()); for (int i = 0; i < 100; ++i) { stack.push(i); assertFalse("Stacks should never be full", stack.isFull()); } }
/** Simple test to show that size() is working correctly as items are being pushed/popped. */ @Ignore @Test public void testPushPopSize() { final StackIF<String> stack = makeStringStack(); stack.push(values[0]); stack.push(values[1]); stack.push(values[1]); assertEquals("Stack should have a size of 3", stack.size(), 3); stack.pop(); stack.push(values[2]); stack.push(values[1]); stack.push(values[0]); assertEquals("Stack should have a size of 5", stack.size(), 5); stack.pop(); stack.pop(); stack.pop(); stack.pop(); stack.pop(); assertEquals("Stack should be empty", stack.size(), 0); }
/** Tests that isEmpty() is working correctly when items are being pushed/popped. */ @Ignore @Test public void testEmptyMethod() { final StackIF<Integer> stack = makeIntegerStack(); assertTrue("Stack should be empty", stack.isEmpty()); stack.push(1); stack.push(2); assertFalse("Stack should not be empty", stack.isEmpty()); stack.pop(); stack.pop(); assertTrue("Stack should be empty", stack.isEmpty()); }