Exemple #1
0
def test_solve_indirect_reaction():
    s = """\
1 ORE => 1 A
1 A => 1 FUEL
"""
    units, reactions = parse_input(s)
    assert solve(units, reactions) == 1
Exemple #2
0
def test_solve_indirect_reaction_needed_twice():
    s = """\
1 ORE => 1 A
2 A => 1 FUEL
"""
    units, reactions = parse_input(s)
    assert solve(units, reactions) == 2
Exemple #3
0
def test_solve_indirect_reaction_2():
    s = """\
1 ORE => 1 A
5 ORE => 1 B 
2 A, 1 B => 1 FUEL
"""
    units, reactions = parse_input(s)
    assert solve(units, reactions) == 7
Exemple #4
0
    def test1(self):
        input = '''9 ORE => 2 A
8 ORE => 3 B
7 ORE => 5 C
3 A, 4 B => 1 AB
5 B, 7 C => 1 BC
4 C, 1 A => 1 CA
2 AB, 3 BC, 4 CA => 1 FUEL'''.split('\n')
        data = puzzle.parse(input)
        answer = puzzle.solve(data)
        self.assertEqual(answer, 165)
Exemple #5
0
    def test2(self):
        data = puzzle.parse('''157 ORE => 5 NZVS
165 ORE => 6 DCFZ
44 XJWVT, 5 KHKGT, 1 QDVJ, 29 NZVS, 9 GPVTF, 48 HKGWZ => 1 FUEL
12 HKGWZ, 1 GPVTF, 8 PSHF => 9 QDVJ
179 ORE => 7 PSHF
177 ORE => 5 HKGWZ
7 DCFZ, 7 PSHF => 2 XJWVT
165 ORE => 2 GPVTF
3 DCFZ, 7 NZVS, 5 HKGWZ, 10 PSHF => 8 KHKGT'''.split('\n'))
        answer = puzzle.solve(data)
        self.assertEqual(answer, 13312)
Exemple #6
0
 def test_Day14_Example(self):
     self.assertEqual(day14.solve('abc'), 22728)
Exemple #7
0
 def test_Day14_2_Data(self):
     self.assertEqual(day14.solve('ngcjuoqr', True), 20092)
Exemple #8
0
 def test_Day14_2_Example(self):
     self.assertEqual(day14.solve('abc', True), 22551)
Exemple #9
0
 def test_Day14_Data(self):
     self.assertEqual(day14.solve('ngcjuoqr'), 18626)
Exemple #10
0
def test_solve_direct_reaction():
    units = dict(FUEL=1)
    requires = {'FUEL': {'ORE': 1}}
    assert solve(units, requires) == 1
Exemple #11
0
def test_solve(s, expected):
    units, reactions = parse_input(s)
    assert solve(units, reactions) == expected 
Exemple #12
0
def test_example_1():
    units, reactions = parse_input(ex_1)
    assert solve(units, reactions) == 31
Exemple #13
0
 def test_pass(self):
     data = puzzle.parse(read_file("14", "1"))
     result = puzzle.solve(data)
     print(f"Solution: {result}")
     self.assertEqual(result, 628586)