@@ -353,6 +353,27 @@ def test_subrange__negative(self):
353353
354354 self ._check_subrange (a , b , c , d )
355355
356+ def test_subrange__eternity_never (self ):
357+ self .assertTrue (TimeRange .eternity ().contains_subrange (TimeRange .eternity ()))
358+ self .assertTrue (TimeRange .eternity ().contains_subrange (TimeRange .from_str ("[0:0]" )))
359+ self .assertTrue (TimeRange .eternity ().contains_subrange (TimeRange .from_str ("[0:0_1:0)" )))
360+
361+ self .assertTrue (TimeRange .eternity ().contains_subrange (TimeRange .never ()))
362+
363+ self .assertFalse (TimeRange .never ().contains_subrange (TimeRange .eternity ()))
364+ self .assertFalse (TimeRange .never ().contains_subrange (TimeRange .never ()))
365+ self .assertFalse (TimeRange .never ().contains_subrange (TimeRange .from_str ("[0:0]" )))
366+ self .assertFalse (TimeRange .never ().contains_subrange (TimeRange .from_str ("[0:0_1:0)" )))
367+
368+ def test_contains (self ):
369+ self .assertNotIn (None , TimeRange .from_str ("[0:0]" ))
370+ self .assertNotIn (None , TimeRange .never ())
371+ self .assertNotIn (None , TimeRange .eternity ())
372+ self .assertNotIn (1.0 , TimeRange .from_str ("[0:0]" ))
373+ self .assertIn (1.0 , TimeRange .from_str ("[1:0]" ))
374+ self .assertIn (1.0 , TimeRange .from_str ("[0:0_10:0)" ))
375+ # The subrange tests will cover the rest
376+
356377 def _check_intersection (self , a , b , c , d ):
357378 self .assertEqual (TimeRange (a , c , TimeRange .INCLUDE_START ).intersect_with (b ), mediatimerange (b ))
358379
0 commit comments