Specs for implementations of the Roman Catholic church calendar. calendarium-romanum is being used as reference implementation. Running this test suite against your own implementation of the calendar system you can check how feature-complete your calendar library is.
(There is no real installation and there will never be one.)
Get the sources, run bundle install
in the source directory.
The test-suite is language agnostic. The implementation under test is expected to provide an executable which receives date and calendar setup through command line arguments and prints JSON-encoded calendar data to it's standard output.
Run the test suite by invoking rspec
with path to your test executable provided
in environment variable SPECLI
.
SPECLI=/path/to/your/executable bundle exec rspec
TODO
Output of the test executable must be a valid JSON of exactly this structure (which is, btw., subset of the "day" resource of the Church Calendar API v0). Only content matters, whitespace and order of properties are ignored.
{
"date": "2018-05-20",
"season": "easter",
"season_week": 8,
"celebrations": [
{
"title": "Pentecost Sunday",
"colour": "red",
"rank_num": 1.2
}
]
}
The test suite's primary task is to ensure that the C library libcalrom works exactly as calendarium-romanum.
dual-licensed: freely choose between GNU/GPL 3 and MIT