Exemplo n.º 1
0
 def test_move_up(self):
     """ move_up should write to file. """
     f = TestFile()
     move_up(file=f)
     self.assertEqual(
         str(f),
         str(move.up()),
         msg='move_up failed to write to file.'
     )
Exemplo n.º 2
0
 def test_repeat(self):
     """ Control.repeat() should repeat the last code. """
     s = ''.join((
         str(move.up()),
         str(move.down()),
         str(move.down()),
         str(move.down()),
     ))
     ctl = Control().move_up().move_down().repeat(3)
     self.assertEqual(
         s,
         str(ctl),
         msg='Control.repeat produced an unexpected result.',
     )
Exemplo n.º 3
0
    def test_last_code(self):
        """ last_code() should return the last escape code appended. """
        c = Control('datadata').move_up()
        self.assertEqual(
            c.last_code(),
            str(move.up()),
            msg='Failed to return last escape code.'
        )

        blank = Control()
        self.assertEqual(
            blank.last_code(),
            '',
            msg='Empty Control should not have a last code.'
        )
Exemplo n.º 4
0
 def test_repeat_all(self):
     """ Control.repeat() should be like str(Control()) * count. """
     count = 3
     s = ''.join((
         str(move.up()),
         str(move.down()),
         str(move.down()),
         str(move.down()),
     )) * count
     ctl = Control().move_up().move_down().repeat(3)
     self.assertEqual(
         s,
         str(ctl.repeat_all(count)),
         msg='Control.repeat_all produced an unexpected result.',
     )
Exemplo n.º 5
0
 def test_escape_code_methods(self):
     """ methods appending escape codes should be callable without error. """
     c = (
         Control()
         .cursor_hide()
         .cursor_show()
         .erase_display()
         .erase_line()
         .move_back()
         .move_column()
         .move_down()
         .move_forward()
         .move_next()
         .move_pos()
         .move_prev()
         .move_return()
         .move_up()
         .pos_restore()
         .pos_save()
         .scroll_down()
         .scroll_up()
     )
     codes = (
         cursor.hide(),
         cursor.show(),
         erase.display(),
         erase.line(),
         move.back(),
         move.column(),
         move.down(),
         move.forward(),
         move.next(),
         move.pos(),
         move.prev(),
         move.carriage_return(),
         move.up(),
         position.restore(),
         position.save(),
         scroll.down(),
         scroll.up(),
     )
     self.assertEqual(
         str(c),
         ''.join(str(x) for x in codes),
         msg='Failed to create escape codes from methods.'
     )
Exemplo n.º 6
0
    def test_repeat(self):
        """ Control.repeat() should repeat the last code. """
        s = ''.join((
            str(move.up()),
            str(move.down()),
            str(move.down()),
            str(move.down()),
        ))
        ctl = Control().move_up().move_down().repeat(3)
        self.assertEqual(
            s,
            str(ctl),
            msg='Control.repeat produced an unexpected result.',
        )

        # Non-integer count should raise.
        with self.assertRaises(TypeError):
            Control().repeat(count='BAD')
Exemplo n.º 7
0
    def test_repeat_all(self):
        """ Control.repeat() should be like str(Control()) * count. """
        count = 3
        s = ''.join((
            str(move.up()),
            str(move.down()),
            str(move.down()),
            str(move.down()),
        )) * count
        ctl = Control().move_up().move_down().repeat(3)
        self.assertEqual(
            s,
            str(ctl.repeat_all(count)),
            msg='Control.repeat_all produced an unexpected result.',
        )

        # Non-integer count should raise.
        with self.assertRaises(TypeError):
            Control().repeat_all(count='BAD')