Description
Property-based testing framework for testing asynchronous FRP programs.
Description
PropRatt is a property-based testing framework for testing Async Rattus programs. The key component of PropRatt is its specification language, which extends basic linear temporal logic with a means to express properties of several concurrent signals. This allows users to express temporal properties that relate data coming from different signals at different points in time.
More details about the specification language can be found in the accompanying paper.
Example specifications written in PropRatt:
Specification for basic signal combinators (
map,zip,scan, etc.)
README.md
PropRatt
PropRatt is a Haskell framework for testing AsyncRattus using property-based testing.
Overview
- The main example file contains example specifications that test signal combinators of the Async Rattus library.
- The timer example file contains the timer example from the paper.
- The implementation of the specification language can be found in the PropRatt.LTL module.
Running examples
Using stack:
stack run main-examplestack run timer-example
Using cabal:
cabal run main-examplecabal run timer-example.