Skip to content

Support temporal assertions regarding a time period including/intersecting a specific time period #697

@Seddryck

Description

@Seddryck

It should be possible to assert that a result-set, with a time period, is including a given time-period. A time period is defined as the closed-open time interval between two datetime.

  • The including assertion should validate if the reference period is fully covered by the time-period defined in the result-set.
  • The intersects assertion should validate if the reference period and the time-period defined in the result-set are overlaping at least a moment.
  • The leads assertions should validate if the reference period is starting after the time-period defined in the result-set.
  • The lags assertions should validate if the reference period is starting after the time-period defined in the result-set.

For lags and leads, it's possible to define a variant strictly="true" to specify that there should be no intersection, meaning that the end-date should be prior to the start-date. As we've closed-open intervals, if the start date and end date are represented by the same value they automatically don't intersect.

<system-under-test>
  <result-set>
    ...
  </result-set>
</system-under-test>
<assert>
  <includes time-period="[2022-06-01;2022-07-01[">
    <time-period start="#3" end="EndPeriodColumn"/>
    <group-by>...<group-by>
  </includes>
</assert>

The optional group-by let you define that system-under-test rows should not be tested as a single set of rows but should be subdivided into subsets, each subset being defined by the group-by.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions