Ejemplo n.º 1
0
    def test_can_load_data(self):

        target = PartOne()

        passwords = target.load_data("test_data.txt")

        self.assertEqual(len(passwords), 3)
Ejemplo n.º 2
0
    def test_can_load_data(self):

        target = PartOne()

        numbers = target.load_data("test_data.txt")

        self.assertEqual(len(numbers), 6)
Ejemplo n.º 3
0
    def test_returns_final_expected_answer(self):

        target = PartOne()
        numbers = target.load_data("test_data.txt")
        pair = target.find_pair(numbers)
        answer = target.calculate_answer(pair)

        self.assertEqual(answer, 514579)
Ejemplo n.º 4
0
    def test_can_find_number_pair(self):

        target = PartOne()

        numbers = target.load_data("test_data.txt")

        answer = target.find_pair(numbers)

        self.assertEqual(answer[0] + answer[1], 2020)
Ejemplo n.º 5
0
    def test_valid_password_passes(self):

        target = PartOne()

        password = target.parse_line("1-3 a: abcde")

        result = target.validate_password(password)

        self.assertTrue(result)
Ejemplo n.º 6
0
    def test_invalid_password_fails(self):

        target = PartOne()

        password = target.parse_line("1-3 b: cdefg")

        result = target.validate_password(password)

        self.assertFalse(result)
Ejemplo n.º 7
0
    def test_count_returns_correct_number(self):

        target = PartOne()

        passwords = target.load_data("test_data.txt")

        result = target.count_valid_passwords(passwords)

        self.assertEqual(2, result[0])
        self.assertEqual(1, result[1])
Ejemplo n.º 8
0
    def test_line_parses_correctly(self):

        target = PartOne()

        result = target.parse_line("2-5 g: abcgg")

        self.assertEqual(2, result.min)
        self.assertEqual(5, result.max)
        self.assertEqual("g", result.key)
        self.assertEqual("abcgg", result.password)
Ejemplo n.º 9
0
    def test_load_data_seperates_groups(self):
        target = PartOne()
        data = target.load_data("test_data.txt")

        self.assertEqual(len(data), 5)

        self.assertEqual(len(data[0]), 1)
        self.assertEqual(len(data[1]), 3)
        self.assertEqual(len(data[2]), 2)
        self.assertEqual(len(data[3]), 4)
        self.assertEqual(len(data[4]), 1)
def main():
    print("Qual parte do projeto deseja rodar?\n")
    print("[1] Parte 1\n")
    print("[2] Parte 2\n")

    part = int(input("Digite aqui: "))

    if (part == 1):
        Part = PartOne()
    elif (part == 2):
        Part = PartTwo()
    else:
        return

    print("\n")
    print("Iniciando Parte ", part, "\n")

    Part.run()
Ejemplo n.º 11
0
from part_one import PartOne, BoardingPass

if __name__ == "__main__":

    target = PartOne()
    boarding_passes = target.load_data("part_one.txt")

    ids = []

    for boarding_pass in boarding_passes:
        ids.append(boarding_pass.calculate_id())

    # find empty seats below 835 (max id from part one)
    for x in range(835):
        if not x in ids:
            print("Empty seat found: {0}".format(x))

Ejemplo n.º 12
0
 def test_unique_count(self):
     target = PartOne()
     data = ["abc", "abcd"]
     unique_count = target.count_unique_answers(data)
     self.assertEqual(unique_count, 4)
Ejemplo n.º 13
0
from part_one import PartOne, Vector

if __name__ == "__main__":

    instance = PartOne()

    map = instance.load_data("part_one.txt")

    trees = []

    trees.append(instance.map_path(map, Vector(1, 1)))
    trees.append(instance.map_path(map, Vector(3, 1)))
    trees.append(instance.map_path(map, Vector(5, 1)))
    trees.append(instance.map_path(map, Vector(7, 1)))
    trees.append(instance.map_path(map, Vector(1, 2)))

    product = 1

    for i in trees:
        product = product * i

    print("Product: {0}".format(product))