copper-leaf / copper-leaf/trellis

Generate truth tables for boolean specs

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
5
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Add a way to take a single `Spek` and flatten out all its sub-speks to build into a truth table.

Using the following snippet from the README:

```kotlin
val permissionSpek = HasExplicitCapabilitySpek("write")
.or(IsRoleSpek("author").andNot(HasExplicitCapabilityRevokedSpek("write")))
.or(IsSuperuserSpek())
```

should produce the following table

| HasExplicitCapabilitySpek | IsRoleSpek | HasExplicitCapabilityRevokedSpek | IsSuperuserSpek | Result |
| ------------------------- | ---------- | -------------------------------- | --------------- | ------ |
| false | false | false | false | false |
| false | false | false | true | true |
| false | false | true | false | false |
| false | false | true | true | true |
| false | true | false | false | true |
| false | true | false | true | true |
| false | true | true | false | false |
| false | true | true | true | true |
| true | false | false | false | true |
| true | false | false | true | true |
| true | false | true | false | true |
| true | false | true | true | true |
| true | true | false | false | true |
| true | true | false | true | true |
| true | true | true | false | true |
| true | true | true | true | true |

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.