11from hgraph import graph , TS , sum_ , to_window , abs_ , TSW , mean , min_ , max_
2+ from hgraph ._runtime ._constants import MIN_TD
23from hgraph .test import eval_node
34
45import pytest
@@ -38,9 +39,18 @@ def test_tsw_min():
3839 @graph
3940 def g (ts : TS [int ]) -> TS [int ]:
4041 window = to_window (ts , 3 , 3 )
41- return min_ (window )
42+ return min_ (window , default_value = 0 )
4243
43- assert eval_node (g , [1 , - 2 , 3 , 4 ]) == [None , None , - 2 , - 2 ]
44+ assert eval_node (g , [None , 1 , - 2 , 3 , 4 ]) == [None , None , None , - 2 , - 2 ]
45+
46+
47+ def test_tsw_min_time_period_with_default ():
48+ @graph
49+ def g (ts : TS [int ]) -> TS [int ]:
50+ window = to_window (ts , MIN_TD * 2 )
51+ return min_ (window , default_value = 99 )
52+
53+ assert eval_node (g , [1 , 2 , 3 , 4 ]) == [99 , 99 , 1 , 2 ]
4454
4555
4656def test_tsw_max ():
@@ -50,3 +60,12 @@ def g(ts: TS[int]) -> TS[int]:
5060 return max_ (window )
5161
5262 assert eval_node (g , [1 , - 2 , 3 , 4 ]) == [None , None , 3 , 4 ]
63+
64+
65+ def test_tsw_max_time_period_with_default ():
66+ @graph
67+ def g (ts : TS [int ]) -> TS [int ]:
68+ window = to_window (ts , MIN_TD * 2 )
69+ return max_ (window , default_value = 99 )
70+
71+ assert eval_node (g , [1 , 2 , 3 , 4 ]) == [99 , 99 , 3 , 4 ]
0 commit comments