@@ -632,7 +632,7 @@ def test_detect_clearsky_missing_index(detect_clearsky_data):
632
632
clearsky .detect_clearsky (expected ['GHI' ].values , cs ['ghi' ].values )
633
633
634
634
635
- def test__calc_windowed_stat ():
635
+ def test__line_length_windowed ():
636
636
# sqt is hand-calculated assuming window=3
637
637
samples_per_window = 3
638
638
alignments = ['center' ] # 'left' and 'right' could be added in the future
@@ -652,12 +652,25 @@ def test__calc_windowed_stat():
652
652
for align in expected :
653
653
data = expected [align ]['data' ]
654
654
sample_interval = 1
655
- result = clearsky ._calc_windowed_stat (
656
- data , clearsky ._line_length , samples_per_window , H ,
657
- args = (sample_interval ,))
655
+ result = clearsky ._line_length_windowed (
656
+ data , H , samples_per_window , sample_interval )
658
657
assert_series_equal (result , expected [align ]['line_length' ])
659
658
660
659
660
+ def test__max_diff_windowed ():
661
+ samples_per_window = 3
662
+ sample_interval = 1
663
+ x = pd .Series (np .arange (0 , 7 )** 2. )
664
+ H = hankel (np .arange (samples_per_window ),
665
+ np .arange (samples_per_window - 1 , len (x )))
666
+ expected = {}
667
+ expected ['max_diff' ] = pd .Series (
668
+ data = [np .nan , 3. , 5. , 7. , 9. , 11. , np .nan ], index = x .index )
669
+ result = clearsky ._line_length_windowed (
670
+ x , H , samples_per_window , sample_interval )
671
+ assert_series_equal (result , expected ['max_diff' ])
672
+
673
+
661
674
def test__calc_stats ():
662
675
# stats are hand-computed assuming window = 3 and sample_interval = 1
663
676
samples_per_window = 3
0 commit comments