Skip to content

Tags: alexshd/lawtest

Tags

v0.2.0

Toggle v0.2.0's commit message
v0.2.0: Unified fluent API with interface groups

- Fluent API: lawtest.For(t, gen, eq).AbelianGroup(op, inv, zero)
- Functional options: WithTrials(n), WithTimeout(d)
- Return bool for early exit
- Interface groups: Group, GroupCustom, AbelianGroup, Monoid, Semigroup
- VectorSpaceCustom with ScalarMul support
- Removed old examples (integrated into lawtest_test.go)
- 79% code reduction: clean unified API

v0.1.5

Toggle v0.1.5's commit message
Fix: Revert defaultTestCases to internal const, use Config for custom…

…ization

v0.1.3

Toggle v0.1.3's commit message
Add Custom equality functions for non-comparable types

- Added AssociativeCustom, ImmutableOpCustom, ParallelSafeCustom
- Support types with slices, maps, functions using custom equality
- Added tests for Custom functions
- Fixed flaky ParallelAssociativity test
- Version 0.1.3

v0.1.0

Toggle v0.1.0's commit message
Release v0.1.0 - Property-based testing using group theory

- Property testers: Associative, Commutative, Identity, Inverse, Closure, Idempotent
- Interface-based testing: Group, Monoid, Semigroup, IdempotentOp, Homomorphism
- Concurrency testing: ParallelSafe, TestParallelAssociativity, ImmutableOp
- Built-in generators: IntGen, StringGen, Float64Gen, BoolGen
- Custom configuration support
- Comprehensive documentation with examples
- Test coverage: 78.5%
- Go 1.18+ compatible