Source code for hydesign.tests.test_ems

# -*- coding: utf-8 -*-
"""
Created on 24/01/2023

@author: jumu
"""
import numpy as np
# import pandas as pd
# import pytest
import pickle

from hydesign.tests.test_files import tfp
from hydesign.ems.ems import ems_cplex, operation_solar_batt_deg

# ------------------------------------------------------------------------------------------------
[docs] def run_ems(): with open(tfp+'ems_input_ems.pickle', 'rb') as f: input_ems = pickle.load(f) ems_out = ems_cplex(**input_ems) return ems_out
[docs] def load_ems(): with open(tfp+'ems_output_ems.pickle','rb') as f: ems_out = pickle.load(f) return ems_out
[docs] def update_test_ems(): ems_out = run_ems() with open(tfp+'ems_output_ems.pickle','wb') as f: pickle.dump(ems_out, f)
[docs] def test_ems(): ems_out = run_ems() ems_out_data = load_ems() # keys = ['P_HPP_ts', 'P_curtailment_ts', 'P_charge_discharge_ts', 'E_SOC_ts', 'penalty_ts'] for i in range(len(ems_out)): np.testing.assert_allclose(ems_out[i], ems_out_data[i])
#print(np.allclose(ems_out[i], ems_out_data[i])) # ------------------------------------------------------------------------------------------------
[docs] def run_operation_with_deg(): with open(tfp+'ems_input_ems_longterm.pickle', 'rb') as f: input_ems_long = pickle.load(f) out_operation_with_deg = operation_solar_batt_deg(**input_ems_long) return out_operation_with_deg
[docs] def load_operation_with_deg(): with open(tfp+'ems_output_ems_longterm.pickle','rb') as f: out_operation_with_deg = pickle.load(f) return out_operation_with_deg
[docs] def test_operation_with_deg(): out_operation_with_deg = run_operation_with_deg() out_operation_with_deg_data = load_operation_with_deg() for i in range(len(out_operation_with_deg)): np.testing.assert_allclose(out_operation_with_deg[i], out_operation_with_deg_data[i])
#print(np.allclose(out_operation_with_deg[i], out_operation_with_deg_data[i]))