Closed orosoman-dstl closed 1 year ago
So TimeRange/s now inherits from Interval/s. I had to make a few changes to the latter classes due to a few edge cases not being accounted for - eg interval.isdisjoint(interval)
was returning True, which is of course incorrect. I also changed the attribute names for both classes to "start" and "end", a good compromise hopefully between an implication of chronology for TimeRange/s, while still keeping it more generic for Interval/s. There may be further room to combine the classes - I will review tomorrow.
Patch coverage: 83.48%
and project coverage change: -0.34%
:warning:
Comparison is base (
7e654c3
) 94.43% compared to head (c7430d9
) 94.10%. Report is 441 commits behind head on main.:exclamation: Current head c7430d9 differs from pull request most recent head 5045a47. Consider uploading reports for the commit 5045a47 to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Hopefully everything is now sorted - please have a peek when possible!
Created a new
CompoundTimeRange
class, a container class forTimeRange
. This allows much greater flexibility for association objects, for example to associate two objects between the ranges [a,b] and [c,d] in a singleTimeRangeAssociation
.New additions were made to the
AssociationSet
class mainly to reflect these changes.The last main change was the new
multidimensional_deconfliction
algorithm. This is a very rudimentary but hopefully functional algorithm to ensure anAssociationSet
has no associations that conflict - we can't have two different associations involving the same object at any given time. The algorithm is very basic, simply using the total length of an association as a proxy for strength of association, but I believe the groundwork has been laid to quickly implement something more advanced much more easily now.