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
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
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
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
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}
def test_calculate_total_fuel(): filename = "test.txt" formulas = read_formulas(filename) object = NanoFactory() object.input_formulas(formulas) assert object.calculate_total_fuel() == 82892753
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