@@ -1466,6 +1466,25 @@ def test_split(self):
14661466 with self .assertRaises (ValueError ):
14671467 tr .split_at (ts )
14681468
1469+ def test_timerange_between (self ):
1470+ test_data = [
1471+ (TimeRange .from_str ("[0:0_10:0)" ), TimeRange .from_str ("[5:0_15:0)" ),
1472+ TimeRange .never ()),
1473+ (TimeRange .from_str ("[0:0_10:0)" ), TimeRange .from_str ("[15:0_20:0)" ),
1474+ TimeRange .from_str ("[10:0_15:0)" )),
1475+ (TimeRange .from_str ("[0:0_10:0]" ), TimeRange .from_str ("(15:0_20:0)" ),
1476+ TimeRange .from_str ("(10:0_15:0]" )),
1477+ (TimeRange .from_str ("[0:0_10:0)" ), TimeRange .from_str ("[15:0_20:0)" ),
1478+ TimeRange .from_str ("[10:0_15:0)" )),
1479+ (TimeRange .from_str ("[0:0_10:0]" ), TimeRange .from_str ("(15:0_20:0)" ),
1480+ TimeRange .from_str ("(10:0_15:0]" )),
1481+ ]
1482+
1483+ for (left , right , expected ) in test_data :
1484+ with self .subTest (left = left , right = right , expected = expected ):
1485+ self .assertEqual (left .timerange_between (right ), expected )
1486+ self .assertEqual (right .timerange_between (left ), expected )
1487+
14691488 def test_normalise (self ):
14701489 tests_tr = [
14711490 (TimeRange .from_str ("[0:0_1:0)" ), Fraction (25 , 1 ), TimeRange .ROUND_NEAREST ,
0 commit comments