NBi is a testing framework (add-on to NUnit) for Business Intelligence and Data Access. The main goal of this framework is to let users create tests with a declarative approach based on an Xml syntax. By the means of NBi, you don't need to develop C# or Java code to specify your tests! Either, you don't need Visual Studio or Eclipse to compile your test suite. Just create an Xml file and let the framework interpret it and play your tests. The framework is designed as an add-on of NUnit but with the possibility to port it easily to other testing frameworks.
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.
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-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.