Skip to content

Commit be79dcc

Browse files
committed
test: update test
1 parent f4bf392 commit be79dcc

1 file changed

Lines changed: 26 additions & 7 deletions

File tree

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,50 @@
1+
from datetime import datetime
2+
13
from libecalc.domain.infrastructure.energy_components.legacy_consumer.tabulated import TabularConsumerFunction
24
from libecalc.domain.infrastructure.energy_components.legacy_consumer.tabulated.common import (
35
Variable,
46
VariableExpression,
57
)
8+
from libecalc.domain.regularity import Regularity
69
from libecalc.expression import Expression
10+
from libecalc.presentation.yaml.domain.expression_time_series_variable import ExpressionTimeSeriesVariable
11+
from libecalc.presentation.yaml.domain.time_series_expression import TimeSeriesExpression
12+
from tests.conftest import expression_evaluator_factory
713

814

9-
def test_tabular_consumer_single_period_returns_list():
15+
def test_tabular_consumer_single_period_returns_list(expression_evaluator_factory):
16+
test_time_vector = [datetime(2020, 1, 1), datetime(2030, 1, 1)]
1017
# Minimal setup: one variable, one function value
1118
headers = ["RATE", "FUEL"]
1219
data = [[1.0], [10.0]] # Variable value and function value
13-
variables_expressions = [VariableExpression(name="RATE", expression=Expression.setup_from_expression("RATE"))]
20+
21+
expression_evaluator = expression_evaluator_factory.from_time_vector(test_time_vector)
22+
regularity = Regularity(
23+
expression_evaluator=expression_evaluator, target_period=expression_evaluator.get_period(), expression_input=1
24+
)
25+
26+
variables = ExpressionTimeSeriesVariable(
27+
name="RATE",
28+
time_series_expression=TimeSeriesExpression(expressions="RATE", expression_evaluator=expression_evaluator),
29+
regularity=regularity,
30+
)
1431
consumer_function = TabularConsumerFunction(
1532
headers=headers,
1633
data=data,
1734
energy_usage_adjustment_constant=0.0,
1835
energy_usage_adjustment_factor=1.0,
19-
variables_expressions=variables_expressions,
20-
condition_expression=None,
21-
power_loss_factor_expression=None,
36+
variables=[variables],
2237
)
2338

2439
# Test with a single variable and a single value (e.g. only one period).
2540
# Ensures that the function returns a flat list (not a scalar)
2641
# even when only one period and one value are present.
27-
rate_input = [Variable(name="RATE", values=[1.0])]
42+
rate_input = ExpressionTimeSeriesVariable(
43+
name="RATE",
44+
time_series_expression=TimeSeriesExpression(expressions="1.0", expression_evaluator=expression_evaluator),
45+
regularity=regularity,
46+
)
2847

29-
result = consumer_function.evaluate_variables(rate_input)
48+
result = consumer_function.evaluate_variables([rate_input])
3049
assert isinstance(result.energy_usage, list)
3150
assert result.energy_usage == [10.0]

0 commit comments

Comments
 (0)