nw-pbt-jvm

Verify data structure invariants with jqwik, ScalaCheck, and ZIO Test.

Updated Mar 18, 2024
One-click install
npx skills add https://github.com/v1bh0r/precise-ledger-pro --skill nw-pbt-jvm-v1bh0r
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nw-pbt-jvm
Source: https://github.com/v1bh0r/precise-ledger-pro/tree/main/nWave/skills/nw-pbt-jvm
Command: npx skills add https://github.com/v1bh0r/precise-ledger-pro --skill nw-pbt-jvm-v1bh0r

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Property-based testing across JVM languages helps catch edge cases and ensures robust behavior by exploring a wide range of inputs automatically.

Core Features & Use Cases

  • Supports jqwik (Java/Kotlin), ScalaCheck (Scala), and ZIO Test (Scala) for cross-language property-based testing.
  • Includes examples for stateful testing, generators, and quick-start integrations in multiple ecosystems.
  • Use Case: Validate a data structure's invariants across multiple input patterns and languages in one framework-agnostic workflow.

Quick Start

Run a simple property-based test to validate list invariants across Java, Kotlin, and Scala with jqwik, ScalaCheck, and ZIO Test.

Frequently Asked Questions about nw-pbt-jvm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write property-based tests for data structure invariants across JVM languages?

Property-based testing on the JVM automatically explores wide input ranges to verify data structure invariants. You define properties using generators to validate deterministic and stateful scenarios across languages.

Does property-based testing work with both Java and Scala ecosystems?

Yes, property-based testing works across Java, Kotlin, and Scala using jqwik, ScalaCheck, and ZIO Test. This allows framework-agnostic validation of invariants within a single integrated workflow.

What do I need to set up stateful property-based testing with jqwik and ScalaCheck?

You need jqwik, ScalaCheck, and ZIO Test dependencies added to your project. Clear frontmatter metadata is also required to guide discovery and activation for stateful testing scenarios.

What is the difference between deterministic and stateful property-based testing?

Deterministic property-based testing validates pure functions against generated inputs, while stateful testing verifies sequences of operations to ensure system state remains consistent across transitions.

Can I use ZIO Test for property-based testing alongside ScalaCheck?

Yes, ZIO Test and ScalaCheck are both supported for Scala property-based testing. You can apply either framework to cover stateful testing scenarios and validate invariants across different input patterns.