コード例 #1
0
ファイル: test_factory.py プロジェクト: eaglerock1337/aoc2019
def test_nanofactory_calculate_fuel():
    object = NanoFactory()
    object.input_formulas(TEST)
    assert object.calculate_fuel(1) == 31
    object.reset()
    assert object.calculate_fuel(2) == 62
    object.reset()
    assert object.calculate_fuel(10) == 290
コード例 #2
0
ファイル: test_factory.py プロジェクト: eaglerock1337/aoc2019
def test_nanofactory_get_inventory_recursive():
    object = NanoFactory()
    object.input_formulas(TEST)
    object._get_inventory("FUEL", 1)
    assert object.inventory["FUEL"] == 1
    print(object.inventory)
    assert object.inventory["A"] == 2
    assert object.used_ore == 31
コード例 #3
0
ファイル: test_factory.py プロジェクト: eaglerock1337/aoc2019
def test_nanofactory_get_inventory():
    object = NanoFactory()
    object.input_formulas(TEST)
    object._get_inventory("A", 45)
    assert object.inventory["A"] == 50
    assert object.used_ore == 50
    object._get_inventory("A", 5)
    assert object.inventory["A"] == 60
    assert object.used_ore == 60
コード例 #4
0
ファイル: test_factory.py プロジェクト: eaglerock1337/aoc2019
def test_nanofactory_needed_inventory():
    object = NanoFactory()
    object.input_formulas(TEST)
    object._add_inventory("A", 25)
    object._add_inventory("B", 10)
    assert object._needed_inventory("A", 10) == 0
    assert object._needed_inventory("A", 30) == 5
    assert object._needed_inventory("A", 36) == 11
    assert object._needed_inventory("B", 15) == 5
    assert object._needed_inventory("C", 5) == 5
コード例 #5
0
ファイル: test_factory.py プロジェクト: eaglerock1337/aoc2019
def test_nanofactory_import():
    object = NanoFactory()
    object.input_formulas(TEST)
    assert list(object.formulas.keys()) == ["A", "B", "C", "D", "E", "FUEL"]
    assert object.formulas["C"].amount == 1
    assert object.formulas["A"].ingredients == {"ORE": 10}
コード例 #6
0
ファイル: test_factory.py プロジェクト: eaglerock1337/aoc2019
def test_calculate_total_fuel():
    filename = "test.txt"
    formulas = read_formulas(filename)
    object = NanoFactory()
    object.input_formulas(formulas)
    assert object.calculate_total_fuel() == 82892753
コード例 #7
0
ファイル: test_factory.py プロジェクト: eaglerock1337/aoc2019
def test_nanofactory_calculate_fuel_2():
    object = NanoFactory()
    object.input_formulas(TEST2)
    for formula, reaction in object.formulas.items():
        print(f"{formula}: {reaction.amount} / {reaction.ingredients}")
    assert object.calculate_fuel(1) == 165