Skip to content

Commit

Permalink
added unittest for hybrid_runner.py
Browse files Browse the repository at this point in the history
  • Loading branch information
mbaehring committed Feb 10, 2025
1 parent 95c9b0a commit 871aa24
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 3 deletions.
28 changes: 28 additions & 0 deletions tests/testtest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import random
import os
import numpy as np
from BPTK_Py.sdcompiler.compile import compile_xmile
from BPTK_Py.sddsl.operators import BinaryOperator, ArrayedEquation
from BPTK_Py.util import timerange
from BPTK_Py import Model
from BPTK_Py import sd_functions as sd
import math
from BPTK_Py.sddsl.element import Element
from BPTK_Py.sddsl.stock import Stock


start = 0.0
dt = 1.0
stop = 10.0
model = Model(starttime=start, stoptime=stop, dt=dt, name='and')
model.fn = {
"times2": lambda model, t: 2*t
}

x = model.flow("x")
testFunction = model.function("testFunction", lambda model, t: 2*t)
x.equation = testFunction()

for i in range(

print(model.fn)
24 changes: 21 additions & 3 deletions tests/unittests/test_hybrid_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
import pandas as pd

from BPTK_Py.scenariorunners.hybrid_runner import HybridRunner
import BPTK_Py.logger.logger as logmod

class TestHybridRunner(unittest.TestCase):
def setUp(self):
pass

def testHybridRunner_get_agents_for_model(self):
pass

def testHybridRunner_get_df_for_agent(self):
hybridRunner = HybridRunner(scenario_manager_factory="testScenarioManagerFactory")

Expand Down Expand Up @@ -136,5 +134,25 @@ def testHybridRunner_get_df_for_agent(self):
self.assertTrue(hybridRunner.get_df_for_agent(data=data,agent_name="agent1",agent_states=["state1"],agent_properties=[],agent_property_types=["type1"]).equals(pd.DataFrame(data=pd3_data, index=pd_index,columns=pd3_columns)))
self.assertTrue(hybridRunner.get_df_for_agent(data=data,agent_name="agent1",agent_states=["state1"],agent_properties=["property1"],agent_property_types=[]).equals(pd.DataFrame()))

def testHybridRunner_run_scenario_empty(self):
#cleanup logfile
try:
with open(logmod.logfile, "w", encoding="UTF-8") as file:
pass
except FileNotFoundError:
self.fail()

hybridRunner = HybridRunner(scenario_manager_factory="testScenarioManagerFactory")

self.assertTrue(hybridRunner.run_scenario(abm_results_dict={}, return_format=None, scenarios=[]).equals(pd.DataFrame()))

try:
with open(logmod.logfile, "r", encoding="UTF-8") as file:
content = file.read()
except FileNotFoundError:
self.fail()

self.assertIn("[ERROR] No scenario to simulate found", content)

if __name__ == '__main__':
unittest.main()

0 comments on commit 871aa24

Please sign in to comment.