Skip to content

Commit b9b871b

Browse files
authored
Merge pull request #93 from bbc/philipn-never-never-overlaps
Ensure overlaps_with_timerange and intersect_with are consistent
2 parents 42ad85c + 6eedcb3 commit b9b871b

File tree

6 files changed

+44
-45
lines changed

6 files changed

+44
-45
lines changed

mediatimestamp/count_range.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ def ends_later_than_range(self, other: "CountRange") -> bool:
359359

360360
def overlaps_with_range(self, other: "CountRange") -> bool:
361361
"""Returns true if this range and the other overlap."""
362-
return (not self.is_earlier_than_range(other) and not self.is_later_than_range(other))
362+
return not self.intersect_with(other).is_empty()
363363

364364
def is_contiguous_with_range(self, other: "CountRange") -> bool:
365365
"""Returns true if the union of this range and the other would be a valid range"""

mediatimestamp/immutable/timerange.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,8 +563,7 @@ def ends_later_than_timerange(self, other: SupportsMediaTimeRange) -> bool:
563563

564564
def overlaps_with_timerange(self, other: SupportsMediaTimeRange) -> bool:
565565
"""Returns true if this timerange and the other overlap."""
566-
other = mediatimerange(other)
567-
return (not self.is_earlier_than_timerange(other) and not self.is_later_than_timerange(other))
566+
return not self.intersect_with(other).is_empty()
568567

569568
def is_contiguous_with_timerange(self, other: SupportsMediaTimeRange) -> bool:
570569
"""Returns true if the union of this timerange and the other would be a valid timerange"""

mediatimestamp/time_value_range.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ def overlaps_with_range(self, other: RangeConstructionTypes) -> bool:
559559
"""Returns true if this range and the other overlap."""
560560
other = self._as_time_value_range(other)
561561

562-
return (not self.is_earlier_than_range(other) and not self.is_later_than_range(other))
562+
return not self.intersect_with(other).is_empty()
563563

564564
def is_contiguous_with_range(self, other: RangeConstructionTypes) -> bool:
565565
"""Returns true if the union of this range and the other would be a valid range"""

tests/test_count_range.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -454,31 +454,31 @@ def test_comparisons(self):
454454
(False, False, True, False, True, False, True, False, False, False)),
455455

456456
(CountRange.never(), CountRange.from_str("_"),
457-
(False, False, False, False, False, False, False, False, True, True)),
457+
(False, False, False, False, False, False, False, False, False, False)),
458458
(CountRange.never(), CountRange.from_str("[0_"),
459-
(False, False, False, False, False, False, False, False, True, True)),
459+
(False, False, False, False, False, False, False, False, False, False)),
460460
(CountRange.never(), CountRange.from_str("(0_"),
461-
(False, False, False, False, False, False, False, False, True, True)),
461+
(False, False, False, False, False, False, False, False, False, False)),
462462
(CountRange.never(), CountRange.from_str("[10_"),
463-
(False, False, False, False, False, False, False, False, True, True)),
463+
(False, False, False, False, False, False, False, False, False, False)),
464464
(CountRange.never(), CountRange.from_str("(10_"),
465-
(False, False, False, False, False, False, False, False, True, True)),
465+
(False, False, False, False, False, False, False, False, False, False)),
466466
(CountRange.never(), CountRange.from_str("_0]"),
467-
(False, False, False, False, False, False, False, False, True, True)),
467+
(False, False, False, False, False, False, False, False, False, False)),
468468
(CountRange.never(), CountRange.from_str("_0)"),
469-
(False, False, False, False, False, False, False, False, True, True)),
469+
(False, False, False, False, False, False, False, False, False, False)),
470470
(CountRange.never(), CountRange.from_str("_10]"),
471-
(False, False, False, False, False, False, False, False, True, True)),
471+
(False, False, False, False, False, False, False, False, False, False)),
472472
(CountRange.never(), CountRange.from_str("_10)"),
473-
(False, False, False, False, False, False, False, False, True, True)),
473+
(False, False, False, False, False, False, False, False, False, False)),
474474
(CountRange.never(), CountRange.from_str("[0_10)"),
475-
(False, False, False, False, False, False, False, False, True, True)),
475+
(False, False, False, False, False, False, False, False, False, False)),
476476
(CountRange.never(), CountRange.from_str("(0_10)"),
477-
(False, False, False, False, False, False, False, False, True, True)),
477+
(False, False, False, False, False, False, False, False, False, False)),
478478
(CountRange.never(), CountRange.from_str("[5_10)"),
479-
(False, False, False, False, False, False, False, False, True, True)),
479+
(False, False, False, False, False, False, False, False, False, False)),
480480
(CountRange.never(), CountRange.from_str("(5_10)"),
481-
(False, False, False, False, False, False, False, False, True, True)),
481+
(False, False, False, False, False, False, False, False, False, False)),
482482
]
483483
functions = ("starts_inside_range",
484484
"ends_inside_range",

tests/test_time_value_range.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -552,31 +552,31 @@ def test_comparisons(self):
552552
(False, False, True, False, True, False, True, False, False, False)),
553553

554554
(TimeValueRange.never(), TimeValueRange.from_str("_"),
555-
(False, False, False, False, False, False, False, False, True, True)),
555+
(False, False, False, False, False, False, False, False, False, False)),
556556
(TimeValueRange.never(), TimeValueRange.from_str("[0_"),
557-
(False, False, False, False, False, False, False, False, True, True)),
557+
(False, False, False, False, False, False, False, False, False, False)),
558558
(TimeValueRange.never(), TimeValueRange.from_str("(0_"),
559-
(False, False, False, False, False, False, False, False, True, True)),
559+
(False, False, False, False, False, False, False, False, False, False)),
560560
(TimeValueRange.never(), TimeValueRange.from_str("[10_"),
561-
(False, False, False, False, False, False, False, False, True, True)),
561+
(False, False, False, False, False, False, False, False, False, False)),
562562
(TimeValueRange.never(), TimeValueRange.from_str("(10_"),
563-
(False, False, False, False, False, False, False, False, True, True)),
563+
(False, False, False, False, False, False, False, False, False, False)),
564564
(TimeValueRange.never(), TimeValueRange.from_str("_0]"),
565-
(False, False, False, False, False, False, False, False, True, True)),
565+
(False, False, False, False, False, False, False, False, False, False)),
566566
(TimeValueRange.never(), TimeValueRange.from_str("_0)"),
567-
(False, False, False, False, False, False, False, False, True, True)),
567+
(False, False, False, False, False, False, False, False, False, False)),
568568
(TimeValueRange.never(), TimeValueRange.from_str("_10]"),
569-
(False, False, False, False, False, False, False, False, True, True)),
569+
(False, False, False, False, False, False, False, False, False, False)),
570570
(TimeValueRange.never(), TimeValueRange.from_str("_10)"),
571-
(False, False, False, False, False, False, False, False, True, True)),
571+
(False, False, False, False, False, False, False, False, False, False)),
572572
(TimeValueRange.never(), TimeValueRange.from_str("[0_10)"),
573-
(False, False, False, False, False, False, False, False, True, True)),
573+
(False, False, False, False, False, False, False, False, False, False)),
574574
(TimeValueRange.never(), TimeValueRange.from_str("(0_10)"),
575-
(False, False, False, False, False, False, False, False, True, True)),
575+
(False, False, False, False, False, False, False, False, False, False)),
576576
(TimeValueRange.never(), TimeValueRange.from_str("[5_10)"),
577-
(False, False, False, False, False, False, False, False, True, True)),
577+
(False, False, False, False, False, False, False, False, False, False)),
578578
(TimeValueRange.never(), TimeValueRange.from_str("(5_10)"),
579-
(False, False, False, False, False, False, False, False, True, True)),
579+
(False, False, False, False, False, False, False, False, False, False)),
580580
]
581581
functions = ("starts_inside_range",
582582
"ends_inside_range",

tests/test_timerange.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -700,35 +700,35 @@ def test_comparisons(self):
700700
(False, False, False, True, False, True, False, True, False, True)),
701701

702702
(TimeRange.never(), TimeRange.from_str("_"),
703-
(False, False, False, False, False, False, False, False, True, True)),
703+
(False, False, False, False, False, False, False, False, False, False)),
704704
(TimeRange.never(), TimeRange.from_str("[0:0_"),
705-
(False, False, False, False, False, False, False, False, True, True)),
705+
(False, False, False, False, False, False, False, False, False, False)),
706706
(TimeRange.never(), TimeRange.from_str("(0:0_"),
707-
(False, False, False, False, False, False, False, False, True, True)),
707+
(False, False, False, False, False, False, False, False, False, False)),
708708
(TimeRange.never(), TimeRange.from_str("[10:0_"),
709-
(False, False, False, False, False, False, False, False, True, True)),
709+
(False, False, False, False, False, False, False, False, False, False)),
710710
(TimeRange.never(), TimeRange.from_str("(10:0_"),
711-
(False, False, False, False, False, False, False, False, True, True)),
711+
(False, False, False, False, False, False, False, False, False, False)),
712712
(TimeRange.never(), TimeRange.from_str("_0:0]"),
713-
(False, False, False, False, False, False, False, False, True, True)),
713+
(False, False, False, False, False, False, False, False, False, False)),
714714
(TimeRange.never(), TimeRange.from_str("_0:0)"),
715-
(False, False, False, False, False, False, False, False, True, True)),
715+
(False, False, False, False, False, False, False, False, False, False)),
716716
(TimeRange.never(), TimeRange.from_str("_10:0]"),
717-
(False, False, False, False, False, False, False, False, True, True)),
717+
(False, False, False, False, False, False, False, False, False, False)),
718718
(TimeRange.never(), TimeRange.from_str("_10:0)"),
719-
(False, False, False, False, False, False, False, False, True, True)),
719+
(False, False, False, False, False, False, False, False, False, False)),
720720
(TimeRange.never(), TimeRange.from_str("[0:0_10:0)"),
721-
(False, False, False, False, False, False, False, False, True, True)),
721+
(False, False, False, False, False, False, False, False, False, False)),
722722
(TimeRange.never(), TimeRange.from_str("(0:0_10:0)"),
723-
(False, False, False, False, False, False, False, False, True, True)),
723+
(False, False, False, False, False, False, False, False, False, False)),
724724
(TimeRange.never(), TimeRange.from_str("[5:0_10:0)"),
725-
(False, False, False, False, False, False, False, False, True, True)),
725+
(False, False, False, False, False, False, False, False, False, False)),
726726
(TimeRange.never(), TimeRange.from_str("(5:0_10:0)"),
727-
(False, False, False, False, False, False, False, False, True, True)),
727+
(False, False, False, False, False, False, False, False, False, False)),
728728
(TimeRange.never(), TimeRange.from_str("[-1:0_0:0)"),
729-
(False, False, False, False, False, False, False, False, True, True)),
729+
(False, False, False, False, False, False, False, False, False, False)),
730730
(TimeRange.never(), TimeRange.from_str("(-1:0_)"),
731-
(False, False, False, False, False, False, False, False, True, True)),
731+
(False, False, False, False, False, False, False, False, False, False)),
732732
]
733733
functions = ("starts_inside_timerange",
734734
"ends_inside_timerange",

0 commit comments

Comments
 (0)