You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+5-7
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# GalaxyCheck
2
2
3
-
GalaxyCheck is a modern property-based testing framework for .NET, in a similar vein to [FsCheck](https://github.com/fscheck/FsCheck). Although GalaxyCheck has been more directly influenced by [fast-check](https://github.com/dubzzz/fast-check), [jqwik](https://github.com/jlink/jqwik)is and [Hedgehog](https://github.com/hedgehogqa/fsharp-hedgehog).
3
+
GalaxyCheck is a modern property-based testing framework for .NET, in a similar vein to [FsCheck](https://github.com/fscheck/FsCheck). Although GalaxyCheck has been more directly influenced by [fast-check](https://github.com/dubzzz/fast-check), [jqwik](https://github.com/jlink/jqwik) and [Hedgehog](https://github.com/hedgehogqa/fsharp-hedgehog).
4
4
5
-
The library heavily leans on LINQ expressions, allowing seamless between test-data generators and properties.
5
+
The library heavily leans on LINQ expressions, allowing seamless integration between generators and properties. In GalaxyCheck, properties _are_ simply generators of tests.
The recommend way to getting started quickly with GalaxyCheck, is through[xunit](https://github.com/xunit/xunit), and using the integration package,[GalaxyCheck.Xunit](https://www.nuget.org/packages/GalaxyCheck.Xunit/).
11
+
The recommended way to getting started quickly with GalaxyCheck, is with[xunit](https://github.com/xunit/xunit), and using the integration package [GalaxyCheck.Xunit](https://www.nuget.org/packages/GalaxyCheck.Xunit/).
12
12
13
13
```csharp
14
14
usingGalaxyCheck;
@@ -23,8 +23,6 @@ public class AboutSort
23
23
}
24
24
```
25
25
26
-
GalaxyCheck makes randomly-generated lists of integers available to the test function, to prove its correctness over many iterations and a high variance of input.
27
-
28
26
## Notable features
29
27
30
28
### Shrinking
@@ -81,7 +79,7 @@ public static IGen<(int x, int y)> Point =>
81
79
select (x, y);
82
80
```
83
81
84
-
Hooooold up. Requirements have changed. We actually now need to generate a range, and the interesting thing about the kind of range is that the minimum and maximum bounds need to be in order
82
+
Hooooold up. Requirements have changed. We actually now need to generate a range, and the interesting thing about a range is that the minimum and maximum bounds need to be in order.
85
83
86
84
This would be a significant structural change in some other frameworks, but using LINQ, it's trivial:
87
85
@@ -111,7 +109,7 @@ Other frameworks have similar features, though often only supply you with the or
111
109
112
110
GalaxyCheck encodes the exact iteration and the exact shrink into the replay, which means starting the debugger will take you straight there.
113
111
114
-
### Visibility
112
+
### Transparency
115
113
116
114
Other frameworks provide sampling functionality, but it can be quite disruptive to get at whilst you're in there writing properties. GalaxyCheck provides a `SampleAttribute`, which can be hot-swapped with `PropertyAttribute`, so you can immediately get an intuition of what values your function is being called with.
0 commit comments