Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
def test_nanofactory_add_inventory():
    object = NanoFactory()
    object._add_inventory("A", 10)
    assert object.inventory == {"A": 10}
    object._add_inventory("A", 5)
    assert object.inventory == {"A": 15}
Ejemplo n.º 5
0
def test_nanofactory_remove_inventory():
    object = NanoFactory()
    object._add_inventory("A", 25)
    object._remove_inventory("A", 10)
    assert object.inventory == {"A": 15}
Ejemplo n.º 6
0
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}
Ejemplo n.º 7
0
def test_nanofactory_create():
    object = NanoFactory()
    assert isinstance(object, NanoFactory)
    assert object.formulas == {}
    assert object.inventory == {}
    assert object.used_ore == 0
Ejemplo n.º 8
0
def test_calculate_total_fuel():
    filename = "test.txt"
    formulas = read_formulas(filename)
    object = NanoFactory()
    object.input_formulas(formulas)
    assert object.calculate_total_fuel() == 82892753
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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