|
1 | 1 | import os |
2 | 2 | from helpers.utils import random_mip_1 |
3 | 3 | from json import load |
| 4 | +import pytest |
4 | 5 |
|
5 | | -def test_statistics_json(): |
6 | | - model = random_mip_1() |
| 6 | + |
| 7 | +@pytest.fixture |
| 8 | +def optimized_model(): |
| 9 | + model = random_mip_1(small=True) # Using small=True for speed across tests |
7 | 10 | model.optimize() |
8 | | - model.writeStatisticsJson("statistics.json") |
| 11 | + return model |
| 12 | + |
| 13 | + |
| 14 | +def test_statistics_json(optimized_model): |
| 15 | + optimized_model.writeStatisticsJson("statistics.json") |
9 | 16 |
|
10 | 17 | with open("statistics.json", "r") as f: |
11 | 18 | data = load(f) |
12 | 19 | assert data["origprob"]["problem_name"] == "model" |
13 | | - |
| 20 | + |
14 | 21 | os.remove("statistics.json") |
15 | 22 |
|
16 | | -def test_getPrimalDualIntegral(): |
17 | | - model = random_mip_1(small=True) |
18 | | - model.optimize() |
19 | | - primal_dual_integral = model.getPrimalDualIntegral() |
| 23 | + |
| 24 | +def test_getPrimalDualIntegral(optimized_model): |
| 25 | + primal_dual_integral = optimized_model.getPrimalDualIntegral() |
20 | 26 |
|
21 | 27 | assert isinstance(primal_dual_integral, float) |
| 28 | + |
| 29 | + |
| 30 | +def test_getNRuns(optimized_model): |
| 31 | + n_runs = optimized_model.getNRuns() |
| 32 | + |
| 33 | + assert isinstance(n_runs, int) |
| 34 | + assert n_runs >= 1 |
| 35 | + |
| 36 | + |
| 37 | +def test_getNReoptRuns(optimized_model): |
| 38 | + n_reopt_runs = optimized_model.getNReoptRuns() |
| 39 | + |
| 40 | + assert isinstance(n_reopt_runs, int) |
| 41 | + assert n_reopt_runs >= 0 |
| 42 | + |
| 43 | + |
| 44 | +def test_addNNodes(optimized_model): |
| 45 | + initial_n_nodes = optimized_model.getNTotalNodes() |
| 46 | + optimized_model.addNNodes(5) |
| 47 | + new_n_nodes = optimized_model.getNTotalNodes() |
| 48 | + |
| 49 | + assert new_n_nodes == initial_n_nodes + 5 |
0 commit comments