@@ -455,7 +455,7 @@ def test_upsample(self):
455
455
class ExtractStateIntervalsTest (SparkTest ):
456
456
"""Test of finding time ranges for metrics with constant state."""
457
457
458
- def test_eq_0_extractStateIntervals (self ):
458
+ def test_eq_0 (self ):
459
459
# construct dataframes
460
460
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
461
461
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -472,7 +472,7 @@ def test_eq_0_extractStateIntervals(self):
472
472
self .assertDataFramesEqual (intervals_eq_1_df , expected_df )
473
473
self .assertDataFramesEqual (intervals_eq_2_df , expected_df )
474
474
475
- def test_eq_1_extractStateIntervals (self ):
475
+ def test_eq_1 (self ):
476
476
# construct dataframes
477
477
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
478
478
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -489,7 +489,7 @@ def test_eq_1_extractStateIntervals(self):
489
489
self .assertDataFramesEqual (intervals_eq_1_df , expected_df )
490
490
self .assertDataFramesEqual (intervals_eq_2_df , expected_df )
491
491
492
- def test_ne_0_extractStateIntervals (self ):
492
+ def test_ne_0 (self ):
493
493
# construct dataframes
494
494
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
495
495
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -506,7 +506,7 @@ def test_ne_0_extractStateIntervals(self):
506
506
self .assertDataFramesEqual (intervals_ne_0_df , expected_df )
507
507
self .assertDataFramesEqual (intervals_ne_1_df , expected_df )
508
508
509
- def test_ne_1_extractStateIntervals (self ):
509
+ def test_ne_1 (self ):
510
510
# construct dataframes
511
511
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
512
512
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -523,7 +523,7 @@ def test_ne_1_extractStateIntervals(self):
523
523
self .assertDataFramesEqual (intervals_ne_0_df , expected_df )
524
524
self .assertDataFramesEqual (intervals_ne_1_df , expected_df )
525
525
526
- def test_gt_0_extractStateIntervals (self ):
526
+ def test_gt_0 (self ):
527
527
# construct dataframes
528
528
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
529
529
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -535,7 +535,7 @@ def test_gt_0_extractStateIntervals(self):
535
535
536
536
self .assertDataFramesEqual (intervals_gt_df , expected_df )
537
537
538
- def test_gt_1_extractStateIntervals (self ):
538
+ def test_gt_1 (self ):
539
539
# construct dataframes
540
540
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
541
541
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -547,7 +547,7 @@ def test_gt_1_extractStateIntervals(self):
547
547
548
548
self .assertDataFramesEqual (intervals_gt_df , expected_df )
549
549
550
- def test_lt_0_extractStateIntervals (self ):
550
+ def test_lt_0 (self ):
551
551
# construct dataframes
552
552
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
553
553
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -560,7 +560,7 @@ def test_lt_0_extractStateIntervals(self):
560
560
# test extractStateIntervals_tsdf summary
561
561
self .assertDataFramesEqual (intervals_lt_df , expected_df )
562
562
563
- def test_lt_1_extractStateIntervals (self ):
563
+ def test_lt_1 (self ):
564
564
# construct dataframes
565
565
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
566
566
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -573,7 +573,7 @@ def test_lt_1_extractStateIntervals(self):
573
573
# test intervals_tsdf summary
574
574
self .assertDataFramesEqual (intervals_lt_df , expected_df )
575
575
576
- def test_gte_0_extractStateIntervals (self ):
576
+ def test_gte_0 (self ):
577
577
# construct dataframes
578
578
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
579
579
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -585,7 +585,7 @@ def test_gte_0_extractStateIntervals(self):
585
585
586
586
self .assertDataFramesEqual (intervals_gt_df , expected_df )
587
587
588
- def test_gte_1_extractStateIntervals (self ):
588
+ def test_gte_1 (self ):
589
589
# construct dataframes
590
590
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
591
591
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -597,7 +597,7 @@ def test_gte_1_extractStateIntervals(self):
597
597
598
598
self .assertDataFramesEqual (intervals_gt_df , expected_df )
599
599
600
- def test_lte_0_extractStateIntervals (self ):
600
+ def test_lte_0 (self ):
601
601
# construct dataframes
602
602
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
603
603
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -610,7 +610,7 @@ def test_lte_0_extractStateIntervals(self):
610
610
# test intervals_tsdf summary
611
611
self .assertDataFramesEqual (intervals_lte_df , expected_df )
612
612
613
- def test_lte_1_extractStateIntervals (self ):
613
+ def test_lte_1 (self ):
614
614
# construct dataframes
615
615
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
616
616
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -623,7 +623,7 @@ def test_lte_1_extractStateIntervals(self):
623
623
# test extractStateIntervals_tsdf summary
624
624
self .assertDataFramesEqual (intervals_lte_df , expected_df )
625
625
626
- def test_threshold_fn_extractStateIntervals (self ):
626
+ def test_threshold_fn (self ):
627
627
# construct dataframes
628
628
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
629
629
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -640,7 +640,7 @@ def threshold_fn(a: Column, b: Column) -> Column:
640
640
# test extractStateIntervals_tsdf summary
641
641
self .assertDataFramesEqual (extracted_intervals_df , expected_df )
642
642
643
- def test_null_safe_eq_0_extractStateIntervals (self ):
643
+ def test_null_safe_eq_0 (self ):
644
644
# construct dataframes
645
645
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
646
646
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -652,7 +652,7 @@ def test_null_safe_eq_0_extractStateIntervals(self):
652
652
# test extractStateIntervals_tsdf summary
653
653
self .assertDataFramesEqual (intervals_eq_df , expected_df )
654
654
655
- def test_null_safe_eq_1_extractStateIntervals (self ):
655
+ def test_null_safe_eq_1 (self ):
656
656
# construct dataframes
657
657
input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
658
658
expected_df : DataFrame = self .get_data_as_sdf ("expected" )
@@ -664,6 +664,40 @@ def test_null_safe_eq_1_extractStateIntervals(self):
664
664
# test extractStateIntervals_tsdf summary
665
665
self .assertDataFramesEqual (intervals_eq_df , expected_df )
666
666
667
+ def test_adjacent_intervals (self ):
668
+ # construct dataframes
669
+ input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
670
+ expected_df : DataFrame = self .get_data_as_sdf ("expected" )
671
+
672
+ intervals_eq_df : DataFrame = input_tsdf .extractStateIntervals (
673
+ "metric_1" , "metric_2" , "metric_3"
674
+ )
675
+
676
+ # test extractStateIntervals_tsdf summary
677
+ self .assertDataFramesEqual (intervals_eq_df , expected_df )
678
+
679
+ def test_invalid_state_definition_str (self ):
680
+ # construct dataframes
681
+ input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
682
+
683
+ try :
684
+ input_tsdf .extractStateIntervals (
685
+ "metric_1" , "metric_2" , "metric_3" , state_definition = "N/A"
686
+ )
687
+ except ValueError as e :
688
+ self .assertEqual (type (e ), ValueError )
689
+
690
+ def test_invalid_state_definition_type (self ):
691
+ # construct dataframes
692
+ input_tsdf : TSDF = self .get_data_as_tsdf ("input" )
693
+
694
+ try :
695
+ input_tsdf .extractStateIntervals (
696
+ "metric_1" , "metric_2" , "metric_3" , state_definition = 0
697
+ )
698
+ except TypeError as e :
699
+ self .assertEqual (type (e ), TypeError )
700
+
667
701
668
702
# MAIN
669
703
if __name__ == "__main__" :
0 commit comments