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.
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.
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.The optional
group-bylet 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.