Refactor BatteryModel and market handling for improved time tracking, logging, and market rate calculations
Something is slow, I suspect its the logging, but time is tight, so I'm going to wrap up to make it at least useable
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
import datetime
|
||||
import copy
|
||||
from batterymodel import BatteryModel
|
||||
from batterymodel.models.battery import BatteryState
|
||||
from batterymodel.models.market import MarketDataIncrement
|
||||
|
||||
|
||||
def test_battery_stats():
|
||||
@@ -20,3 +23,24 @@ def test_battery_update():
|
||||
|
||||
def test_market_decision_idle():
|
||||
battery = BatteryModel()
|
||||
battery._current_charge=100000
|
||||
time_increment = datetime.timedelta(minutes=30)
|
||||
market_increment = MarketDataIncrement(
|
||||
datetime.datetime.strptime('01-01-2022 00:00', '%d-%m-%Y %H:%M'),
|
||||
[
|
||||
(datetime.datetime.strptime('01-01-2022 00:00', '%d-%m-%Y %H:%M'),43.0),
|
||||
(datetime.datetime.strptime('01-01-2022 00:00', '%d-%m-%Y %H:%M'),14.0)
|
||||
]
|
||||
)
|
||||
|
||||
market_increment_current = MarketDataIncrement(
|
||||
datetime.datetime.strptime('01-01-2022 00:30', '%d-%m-%Y %H:%M'),
|
||||
[
|
||||
(datetime.datetime.strptime('01-01-2022 00:00', '%d-%m-%Y %H:%M'),43.0),
|
||||
(datetime.datetime.strptime('01-01-2022 00:30', '%d-%m-%Y %H:%M'),13.0)
|
||||
]
|
||||
)
|
||||
current_battery = copy.deepcopy(battery)
|
||||
battery.market_decision(time_increment, current_battery, market_increment_current)
|
||||
assert current_battery._battery_state == BatteryState.IDLE
|
||||
assert battery._battery_state == BatteryState.DISCHARGING
|
||||
Reference in New Issue
Block a user