示例#1
0
 def test_init(self):
     with self.assertRaises(TypeError):
         test_stack = RotatingStack("hello")
     with self.assertRaises(TypeError):
         test_stack = RotatingStack(None)
     with self.assertRaises(ValueError):
         test_stack = RotatingStack(-1)
示例#2
0
    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())
示例#3
0
 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())
示例#4
0
 def test_pop_empty_stack(self):
     test_stack = RotatingStack(3)
     self.assertEqual(None, test_stack.pop())
示例#5
0
 def test_push_none(self):
     test_stack = RotatingStack(3)
     with self.assertRaises(TypeError):
         test_stack.push(None)
示例#6
0
 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())
示例#7
0
 def test_push_increases_size(self):
     test_stack = RotatingStack(3)
     test_stack.push(RotatingLimitedStackTestCase.ITEM_1)
     self.assertEqual(1, test_stack.size())
示例#8
0
 def test_base_stack_empty(self):
     test_stack = RotatingStack(3)
     self.assertEqual(0, test_stack.size())
示例#9
0
 def test_overpush(self):
     test_stack = RotatingStack(2)
     test_stack.push(RotatingLimitedStackTestCase.ITEM_1)
     test_stack.push(RotatingLimitedStackTestCase.ITEM_2)
     test_stack.push(RotatingLimitedStackTestCase.ITEM_3)
示例#10
0
 def test_rotating_behavior(self):
     test_stack = RotatingStack(2)
     test_stack.push(STC.ITEM_1)
     test_stack.push(STC.ITEM_1)
     test_stack.push(STC.ITEM_2)
     self.assertEqual(STC.ITEM_2, test_stack.peek())