def update(self): writer = TerminalWriter(StringIO()) progressbar = ProgressBar([], writer) states = [ '[.###..]', '[..###.]', '[...###]', '[..###.]', '[.###..]', '[###...]', '[.###..]' ] widget = BarWidget() for state in states: Assert(widget.update(progressbar, 8)) == state widget = BarWidget() widget.position = 10 Assert(widget.update(progressbar, 8)) == '[..###.]' Assert(widget.update(progressbar, 8)) == '[.###..]'