/jsonpath-nondeterminism

Generate some non-deterministic testcases for the JSONPath Compliance Test Suite

Primary LanguageHaskellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

JSONPath Non-determinism

This project generates some non-deterministic testcases for the JSONPath CTS.

For the background to this project, please see my blog post Testing non-determinism.

The approach is to use Haskell's list monad to model the non-determinism in the JSONPath RFC 9535.

To print out some examples, issue:

stack run

To run the tests, issue:

stack test

The current algorithm is very inefficient, so an example and a test are commented out to avoid run times of several minutes. I would welcome any significant performance improvements, especially any which are as readable as (or more readable than!) the current code.

Also, I'd welcome any other improvements as I have limited experience in Haskell.