def test_last_in_first_out(self): test_stack = RotatingStack(2) test_stack.push(RotatingLimitedStackTestCase.ITEM_1) test_stack.push(RotatingLimitedStackTestCase.ITEM_2) test_stack.push(RotatingLimitedStackTestCase.ITEM_3) self.assertEqual(2, test_stack.size()) self.assertEqual(RotatingLimitedStackTestCase.ITEM_3, test_stack.pop()) self.assertEqual(RotatingLimitedStackTestCase.ITEM_2, test_stack.pop()) self.assertEqual(0,test_stack.size())
def test_pop_single_item(self): test_stack = RotatingStack(3) test_stack.push(RotatingLimitedStackTestCase.ITEM_1) self.assertEqual(RotatingLimitedStackTestCase.ITEM_1, test_stack.pop()) self.assertEqual(0, test_stack.size())
def test_push_increases_size(self): test_stack = RotatingStack(3) test_stack.push(RotatingLimitedStackTestCase.ITEM_1) self.assertEqual(1, test_stack.size())
def test_peek_size_remains(self): test_stack = RotatingStack(3) test_stack.push(RotatingLimitedStackTestCase.ITEM_1) self.assertEqual(RotatingLimitedStackTestCase.ITEM_1, test_stack.peek()) self.assertEqual(1, test_stack.size())
def test_base_stack_empty(self): test_stack = RotatingStack(3) self.assertEqual(0, test_stack.size())