Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vitest prop testing #3703

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

jessekelly881
Copy link
Contributor

@jessekelly881 jessekelly881 commented Sep 30, 2024

Adds property testing.

https://www.npmjs.com/package/@fast-check/vitest

const realNumber = Schema.Finite.pipe(Schema.nonNaN())

it.prop("symmetry", [realNumber, realNumber], ([a, b]) => a + b === b + a)

it.effect.prop("symmetry", [realNumber, realNumber], ([a, b]) => Effect.gen(function*() {
    return a + b === b + a
}))

it.effect.prop(
  "should detect the substring", 
  { a: Schema.String, b: Schema.String, c: Schema.String })
  ({ a, b, c }) => Effect.gen(function*() {
      return (a + b + c).includes(b)
    })
)

Copy link

changeset-bot bot commented Sep 30, 2024

🦋 Changeset detected

Latest commit: 65c1566

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@effect/vitest Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@jessekelly881 jessekelly881 marked this pull request as ready for review September 30, 2024 08:27
@mikearnaldi
Copy link
Member

why not the following?

it.effect.prop("should detect the substring", { a: Schema.String, b: Schema.String, c: Schema.String }, ({ a, b, c }) =>
    Effect.gen(function*() {
      return (a + b + c).includes(b)
    })
)

@jessekelly881
Copy link
Contributor Author

jessekelly881 commented Oct 1, 2024

Yeah, I actually like that more. Updated.

@jessekelly881
Copy link
Contributor Author

@mikearnaldi Mind having another look when you get the chance?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Discussion Ongoing
Development

Successfully merging this pull request may close these issues.

2 participants