Add market data handling, battery state updates, and unit tests
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
from batterymodel import BatteryModel
|
||||
from batterymodel.models.battery import BatteryState
|
||||
|
||||
|
||||
def test_battery_stats():
|
||||
assert BatteryModel()._max_charge_rate == 2000000 # Watts
|
||||
@@ -10,3 +12,7 @@ def test_battery_stats():
|
||||
assert BatteryModel()._lifetime_cycles == 50000
|
||||
assert BatteryModel()._storage_volume_degradation_rate == 0.001 # %/cycle
|
||||
assert BatteryModel()._fixed_operational_costs == 50000 # £/year
|
||||
|
||||
def test_battery_update():
|
||||
battery = BatteryModel()
|
||||
assert battery._battery_state == BatteryState.IDLE
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import datetime
|
||||
|
||||
from batterymodel.models.market import MarketState
|
||||
|
||||
|
||||
def test_market():
|
||||
this_market = MarketState()
|
||||
this_market._market_data[datetime.datetime.strptime('01-01-2022 00:00', '%d-%m-%Y %H:%M')] = 11
|
||||
this_market._market_data[datetime.datetime.strptime('01-01-2022 00:01', '%d-%m-%Y %H:%M')] = 12
|
||||
this_market._market_data[datetime.datetime.strptime('01-01-2022 00:02', '%d-%m-%Y %H:%M')] = 13
|
||||
this_market._market_data[datetime.datetime.strptime('01-01-2022 00:05', '%d-%m-%Y %H:%M')] = 14
|
||||
|
||||
assert this_market.get_market_rate_for_timestamp(datetime.datetime.strptime('01-01-2022 00:02', '%d-%m-%Y %H:%M')) == 13
|
||||
assert this_market.get_market_rate_for_timestamp(datetime.datetime.strptime('01-01-2022 00:03', '%d-%m-%Y %H:%M')) == 13
|
||||
|
||||
|
||||
Reference in New Issue
Block a user