-
-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Labels
Description
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.