"src/timestepping/backward_euler.cc" did not exist on "a9ddaac7d7e55891493837feef949ce9ecfb9a25"
Newer
Older
CHARGING_COEFFICIENT_KEY,
DISTANCE_KEY,
HAVERSINE_KEY,
consumption_function_distance_factory
# Close two node 1
S = [{"lon": 7.0002593, "lat": 51.7705832, "power": 22.0}]
assert graph.nodes[0][CHARGING_COEFFICIENT_KEY] == 22.0 / 3.6
assert CHARGING_COEFFICIENT_KEY not in graph.nodes[1]
# Close exactly at node 1
S = [{"lon": 7.0002595, "lat": 51.7705832, "power": 22.0}]
assert graph.nodes[0][CHARGING_COEFFICIENT_KEY] == 22.0 / 3.6
assert CHARGING_COEFFICIENT_KEY not in graph.nodes[1]
def test_shortest_route(map_graph):
s = (51.7769461, 6.9832152)
t = (51.7796487, 6.9795230)
route = [
"1827268706",
"1826594887",
"4955446046",
"4955446048",
"34053450",
"4955446051",
"418009799"
]
result = shortest_path(map_graph, _s, _t, car)
assert route == [n for n, t in result.charge_path]
def test_shortest_route_dimensions(map_graph):
s = (51.75041438844966, 6.9332313537597665)
t = (51.75657783347559, 7.000350952148438)
_s = map_graph.find_nearest(s)
_t = map_graph.find_nearest(t)
result = shortest_path(map_graph, _s, _t, car)
path = [n for n, t in result.charge_path]
time = sum([map_graph[u][v][DISTANCE_KEY] for u, v in zip(path[:-1], path[1:])])
distance = sum([map_graph[u][v][HAVERSINE_KEY] for u, v in zip(path[:-1], path[1:])])
assert time / 60 < 10
assert time / 60 > 5
assert distance / 1000 < 6
assert distance / 1000 > 4
def test_charge_shortest_route_dimensions(map_graph):
s = (51.75041438844966, 6.9332313537597665)
t = (51.75657783347559, 7.000350952148438)
_s = map_graph.find_nearest(s)
_t = map_graph.find_nearest(t)
consumption = 1 # kWh/km
cost_path = 6 * consumption * 1000 # distance * consumption in Wh
result = charge.routing.shortest_path(
G=map_graph,
charging_stations=map_graph.charging_stations,
s=_s,
t=_t,
initial_soc=10000, # > cost_path
final_soc=0,
capacity=10000,
c=c
)
path = shortest_path(map_graph, _s, _t, car)
assert type(result) is Result
def test_charge_shortest_route_stop(map_graph):
"""Full tank is enough to get there. Must be equal to shortest path."""
s = (51.75041438844966, 6.9332313537597665)
t = (51.75657783347559, 7.000350952148438)
_s = map_graph.find_nearest(s)
_t = map_graph.find_nearest(t)
consumption = 1 # kWh/km
cost_path = 6 * consumption * 1000 # distance * consumption in Wh
result = charge.routing.shortest_path(
G=map_graph,
charging_stations=map_graph.charging_stations,
s=_s,
t=_t,
initial_soc=2000, # > cost_path
final_soc=0,
capacity=10000,
c=c
)