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)
    def test_read_asteroid_data_3(self):
        data = ['#.#...#.#.',
                '.###....#.',
                '.#....#...',
                '##.#.#.#.#',
                '....#.#.#.',
                '.##..###.#',
                '..#...##..',
                '..##....##',
                '......#...',
                '.####.###.',]

        scanner = AsteroidScanner()
        scanner.read_data(data)

        #best_vec, visible = scanner.determine_best()

        #assert_equal(best_vec, (1, 2))
        #assert_equal(visible, 35)

        assert_equal(35, scanner.determine_visible_improved((1,2)))