def test_page_numbers(self):
     lm = LineManager(StubSpellChecker(()), verbose=False)
     lm.load('avg_test')
     self.assertEqual([
         '1',
         '2',
         '3',
     ], lm.page_numbers)
 def test_fix_hyphen(self):
     sp = StubSpellChecker(('the', 'rains', 'in', 'spain', 'fall',))
     line_one = Line('the rains in sp-', 1, sp)
     line_two = Line('ain fall', 2, sp)
     lm = LineManager(sp, verbose=False)
     lm.fix_hyphen((line_one, line_two))
     self.assertEqual('the rains in', line_one.text)
     self.assertEqual('spain fall', line_two.text)
    def test_fix_lines(self):
        sp = StubSpellChecker(('the', 'rains', 'in', 'spain', 'fall', ))
        lm = LineManager(sp, verbose=False)
        lm.load('hyphen_test')
        lm.join_lines()

        page_one = ' '.join([line.text for line in lm.pages['1']])
        page_two = ' '.join([line.text for line in lm.pages['2'] if line.valid])
        self.assertEquals('the rains in spain fall spaen in spain the', page_one)
        self.assertEquals('rains fall', page_two)
 def test_fix_hyphen(self):
     sp = StubSpellChecker((
         'the',
         'rains',
         'in',
         'spain',
         'fall',
     ))
     line_one = Line('the rains in sp-', 1, sp)
     line_two = Line('ain fall', 2, sp)
     lm = LineManager(sp, verbose=False)
     lm.fix_hyphen((line_one, line_two))
     self.assertEqual('the rains in', line_one.text)
     self.assertEqual('spain fall', line_two.text)
    def __init__(self, size):
        pg.init()
        self.size = size
        self.win = pg.display.set_mode(self.size)

        self.sbDrawer = SnowballDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.hudDrawer = HudDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.lnManager = LineManager()

        self.cameraController = CameraPositionController(self.sbDrawer)
        self.simulationController = SimulationSpeedController(self.lnManager, self.hudDrawer)

        self.inputBox = InputBox(100, 5, 200, 32)

        self.restart_simulation("00007r1")

        self.sbDrawer.draw_bg_box()
    def __init__(self, size):
        pg.init()
        self.size = size
        self.win = pg.display.set_mode(self.size)

        self.sbDrawer = SnowballDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.hudDrawer = HudDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.lnManager = LineManager()

        self.cameraController = CameraPositionController(self.sbDrawer)
        self.simulationController = SimulationSpeedController(
            self.lnManager, self.hudDrawer)

        seq = [("j", 12), ("r", 2), ("l", 2)]
        tseq = translate_sequence(seq)
        self.lnManager.add_line((0, 0), (0, 1), tseq)

        self.lines = self.lnManager.get_lines()

        self.sbDrawer.draw_bg_box()
class MainManager:
    def __init__(self, size):
        pg.init()
        self.size = size
        self.win = pg.display.set_mode(self.size)

        self.sbDrawer = SnowballDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.hudDrawer = HudDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.lnManager = LineManager()

        self.cameraController = CameraPositionController(self.sbDrawer)
        self.simulationController = SimulationSpeedController(
            self.lnManager, self.hudDrawer)

        seq = [("j", 12), ("r", 2), ("l", 2)]
        tseq = translate_sequence(seq)
        self.lnManager.add_line((0, 0), (0, 1), tseq)

        self.lines = self.lnManager.get_lines()

        self.sbDrawer.draw_bg_box()

    def update(self):

        self.lnManager.iterate_lines()
        self.events()

    def display(self):

        self.sbDrawer.draw_snowball(self.lines)
        self.hudDrawer.draw_hud()

        pg.display.flip()

    def events(self):
        for event in pg.event.get():
            if event.type == pg.QUIT:
                sys.exit()

            self.cameraController.check_event(event)
            self.simulationController.check_event(event)
class MainManager:
    def __init__(self, size):
        pg.init()
        self.size = size
        self.win = pg.display.set_mode(self.size)

        self.sbDrawer = SnowballDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.hudDrawer = HudDrawer(cns.DRAW_BOX_SIZE_MID, self.win)
        self.lnManager = LineManager()

        self.cameraController = CameraPositionController(self.sbDrawer)
        self.simulationController = SimulationSpeedController(self.lnManager, self.hudDrawer)

        self.inputBox = InputBox(100, 5, 200, 32)

        self.restart_simulation("00007r1")

        self.sbDrawer.draw_bg_box()

    def restart_simulation(self, text):

        self.lnManager.restart_lines()

        seqs = split_sequence(text)
        for seq in seqs:
            self.lnManager.add_line(seq[0], seq[1], seq[2])

        self.lines = self.lnManager.get_lines()

    def update(self):
        self.lnManager.iterate_lines()
        self.events()

    def display(self):
        self.sbDrawer.draw_snowball(self.lines)
        self.hudDrawer.draw_hud()
        self.inputBox.draw(self.win)

        pg.display.flip()

    def events(self):
        for event in pg.event.get():
            if event.type == pg.QUIT:
                sys.exit()
            elif event.type == pg.KEYDOWN:
                if event.key == pg.K_RETURN:
                    new_patter = self.inputBox.get_text()
                    self.restart_simulation(new_patter)
                    self.sbDrawer.refresh_draw()

            self.inputBox.handle_event(event)
            self.cameraController.check_event(event)
            self.simulationController.check_event(event)
    def test_fix_lines(self):
        sp = StubSpellChecker((
            'the',
            'rains',
            'in',
            'spain',
            'fall',
        ))
        lm = LineManager(sp, verbose=False)
        lm.load('hyphen_test')
        lm.join_lines()

        page_one = ' '.join([line.text for line in lm.pages['1']])
        page_two = ' '.join(
            [line.text for line in lm.pages['2'] if line.valid])
        self.assertEquals('the rains in spain fall spaen in spain the',
                          page_one)
        self.assertEquals('rains fall', page_two)
 def test_page_numbers(self):
     lm = LineManager(StubSpellChecker(()), verbose=False)
     lm.load('avg_test')
     self.assertEqual(['1', '2', '3',], lm.page_numbers)
 def test_average(self):
     lm = LineManager(StubSpellChecker(()), verbose=False)
     lm.load('avg_test')
     self.assertEqual(25, lm.average_length)
 def test_average(self):
     lm = LineManager(StubSpellChecker(()), verbose=False)
     lm.load('avg_test')
     self.assertEqual(25, lm.average_length)