def test_read_asteroid_data_2(self):
        data = ['......#.#.',
                '#..#.#....',
                '..#######.',
                '.#.#.###..',
                '.#..#.....',
                '..#....#.#',
                '#..#....#.',
                '.##.#..###',
                '##...#..#.',
                '.#....####']

        scanner = AsteroidScanner()
        scanner.read_data(data)

        visible = scanner.determine_visible((5, 8))
        assert_equal(len(visible), 33)
    def test_read_asteroid_data_1(self):
        data = ['.#..#',
                '.....',
                '#####',
                '....#',
                '...##']

        scanner = AsteroidScanner()
        scanner.read_data(data)
        expected = {(1, 2), (3, 2), (4, 4), (4, 3), (2, 2), (4, 2), (1, 0), (3, 4), (0, 2), (4, 0)}
        assert_equal(expected, scanner.vecs)

        visible = scanner.determine_visible_improved((4, 2))
        assert_equal(visible, 5)

        visible = scanner.determine_visible((1, 0))
        assert_equal(len(visible), 7)

        visible = scanner.determine_visible_improved((4, 4))
        assert_equal(visible, 7)

        visible = scanner.determine_visible_improved((3, 4))
        assert_equal(visible, 8)