Ejemplo n.º 1
0
    def test_history_depth_count_should_match_number_of_pushes(self):
        s = Stack()
        #import pdb; pdb.set_trace()
        self.assertEqual(s.history_depth_count(0),1)
        self.assertTrue(s.is_empty())
        self.assertEqual(s.content(),[])

        for i, v in enumerate(self.init_list):
            s.push(v)

            expected = [1]*(i+2)+[0]*(len(self.init_list)-1)
            for depth in range(len(self.init_list)+1):
                self.assertEqual(s.history_depth_count(depth),expected[depth])

        depth_count = s.history_depth_count()
        self.assertEqual(depth_count,[(0,1),(1,1),(2,1),(3,1),(4,1),(5,1)])

        self.assertEqual(s.max_depth(), self.max_depth)

        self.assertEqual(s.total_operations(), len(self.init_list))

        empty = None
        while empty != KStack.Empty:
            empty = s.pop()

        self.assertEqual(s.total_operations(), len(self.init_list)*2)