def test_stack_maxsize(): s = Stack(maxsize=10) [s.add("action {0:d}".format(i)) for i in xrange(20)] assert len(s.get_stack()) == 10 assert s.get_current() == "action 19" assert s.can_undo() == True assert s.can_redo() == False [s.undo() for _ in xrange(10)] assert s.can_undo() == False assert s.can_redo() == True