Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: fscheck/FsCheck
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.10.1
Choose a base ref
...
head repository: fscheck/FsCheck
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 9,615 additions and 9,905 deletions.
  1. +12 −0 .config/dotnet-tools.json
  2. +10 −0 .gitignore
  3. BIN .paket/paket.exe
  4. +0 −58 .paket/paket.targets
  5. +0 −12 .travis.yml
  6. +3 −2 Contributors.txt
  7. +28 −0 Directory.Build.props
  8. +31 −0 Directory.Build.targets
  9. +42 −0 Directory.Packages.props
  10. +425 −96 FsCheck Release Notes.md
  11. +0 −107 FsCheck-mono.sln
  12. +0 −43 FsCheck.netcore.sln
  13. +39 −68 FsCheck.sln
  14. BIN FsCheckKey.snk
  15. +30 −29 README.md
  16. +0 −60 Settings.FSharpLint
  17. +9 −3 appveyor.yml
  18. +3 −11 build.cmd
  19. +544 −231 build.fsx
  20. +4 −18 build.sh
  21. +8 −5 docs/{content → }/LearningResources.md
  22. +22 −73 docs/{content → }/Properties.fsx
  23. +10 −9 docs/{content → }/QuickStart.fsx
  24. +48 −23 docs/{content → }/RunningTests.fsx
  25. +16 −11 docs/{content → }/StatefulTestingNew.fsx
  26. +61 −48 docs/{content → }/TestData.fsx
  27. +39 −10 docs/{content → }/TipsAndTricks.fsx
  28. +95 −0 docs/_template.html
  29. +0 −81 docs/content/StatefulTesting.fsx
  30. +0 −299 docs/content/ja/Properties.fsx
  31. +0 −108 docs/content/ja/QuickStart.fsx
  32. +0 −152 docs/content/ja/RunningTests.fsx
  33. +0 −66 docs/content/ja/StatefulTesting.fsx
  34. +0 −238 docs/content/ja/TestData.fsx
  35. +0 −99 docs/content/ja/TipsAndTricks.fsx
  36. +0 −63 docs/content/ja/index.fsx
  37. +0 −17 docs/csharp/App.config
  38. +0 −159 docs/csharp/CSharp.DocSnippets.csproj
  39. +0 −17 docs/csharp/Program.cs
  40. +0 −36 docs/csharp/Properties/AssemblyInfo.cs
  41. +0 −93 docs/csharp/StatefulTesting.cs
  42. +0 −27 docs/csharp/packages.config
  43. +0 −2 docs/csharp/paket.references
  44. BIN {Docs/files → docs}/img/logo-source.pptx
  45. BIN docs/{files → }/img/logo.png
  46. +22 −34 docs/{content → }/index.fsx
  47. +0 −46 docs/output/content/tips.js
  48. +0 −93 docs/tools/generate.fsx
  49. +0 −77 docs/tools/generate.ja.fsx
  50. +0 −74 docs/tools/templates/ja/template.cshtml
  51. +0 −80 docs/tools/templates/template.cshtml
  52. +3 −1 docs/{content → }/users.md
  53. +17 −0 examples/CSharp.DocSnippets/CSharp.DocSnippets.csproj
  54. +11 −0 examples/CSharp.DocSnippets/Program.cs
  55. +4 −5 {docs/csharp → examples/CSharp.DocSnippets}/Properties.cs
  56. +5 −7 {docs/csharp → examples/CSharp.DocSnippets}/QuickStart.cs
  57. +4 −3 {docs/csharp → examples/CSharp.DocSnippets}/RunningTests.cs
  58. +10 −13 {docs/csharp → examples/CSharp.DocSnippets}/TestData.cs
  59. +6 −5 {docs/csharp → examples/CSharp.DocSnippets}/TipsAndTricks.cs
  60. +13 −113 examples/FsCheck.CSharpExamples/FsCheck.CSharpExamples.csproj
  61. +51 −37 examples/FsCheck.CSharpExamples/Program.cs
  62. +0 −36 examples/FsCheck.CSharpExamples/Properties/AssemblyInfo.cs
  63. +0 −17 examples/FsCheck.CSharpExamples/app.config
  64. +0 −26 examples/FsCheck.CSharpExamples/packages.config
  65. +0 −1 examples/FsCheck.CSharpExamples/paket.references
  66. +0 −17 examples/FsCheck.Examples/App.config
  67. +45 −62 examples/FsCheck.Examples/Examples.fs
  68. +16 −88 examples/FsCheck.Examples/FsCheck.Examples.fsproj
  69. +0 −26 examples/FsCheck.Examples/packages.config
  70. +0 −1 examples/FsCheck.Examples/paket.references
  71. +10 −15 examples/FsCheck.MsTest.Examples/App.config
  72. +0 −30 examples/FsCheck.MsTest.Examples/ClassesToTest/Counter.cs
  73. +0 −29 examples/FsCheck.MsTest.Examples/ClassesToTest/CounterSpec.cs
  74. +1 −1 examples/FsCheck.MsTest.Examples/ClassesToTest/EnumerableExtensions.cs
  75. +0 −35 examples/FsCheck.MsTest.Examples/CounterTest.cs
  76. +3 −2 examples/FsCheck.MsTest.Examples/DocGen.cs
  77. +8 −3 examples/FsCheck.MsTest.Examples/DocTest.cs
  78. +38 −112 examples/FsCheck.MsTest.Examples/FsCheck.MsTest.Examples.csproj
  79. +1 −0 examples/FsCheck.MsTest.Examples/SampleTests.cs
  80. +0 −26 examples/FsCheck.MsTest.Examples/packages.config
  81. +0 −1 examples/FsCheck.MsTest.Examples/paket.references
  82. +10 −15 examples/FsCheck.NUnit.CSharpExamples/App.config
  83. +0 −25 examples/FsCheck.NUnit.CSharpExamples/ClassesToTest/Counter.cs
  84. +0 −58 examples/FsCheck.NUnit.CSharpExamples/ClassesToTest/CounterSpec.cs
  85. +25 −8 examples/FsCheck.NUnit.CSharpExamples/Examples.cs
  86. +25 −104 examples/FsCheck.NUnit.CSharpExamples/FsCheck.NUnit.CSharpExamples.csproj
  87. +56 −0 examples/FsCheck.NUnit.CSharpExamples/SyncVersusAsyncExamples.cs
  88. +0 −29 examples/FsCheck.NUnit.CSharpExamples/packages.config
  89. +0 −3 examples/FsCheck.NUnit.CSharpExamples/paket.references
  90. +7 −15 examples/FsCheck.NUnit.Examples/App.config
  91. +21 −114 examples/FsCheck.NUnit.Examples/FsCheck.NUnit.Examples.fsproj
  92. +22 −2 examples/FsCheck.NUnit.Examples/PropertyExamples.fs
  93. +29 −0 examples/FsCheck.NUnit.Examples/SyncVersusAsyncExamples.fs
  94. +0 −29 examples/FsCheck.NUnit.Examples/packages.config
  95. +0 −3 examples/FsCheck.NUnit.Examples/paket.references
  96. +10 −15 examples/FsCheck.XUnit.CSharpExamples/App.config
  97. +12 −9 examples/FsCheck.XUnit.CSharpExamples/ExtensionMethods.cs
  98. +28 −136 examples/FsCheck.XUnit.CSharpExamples/FsCheck.XUnit.CSharpExamples.csproj
  99. +58 −0 examples/FsCheck.XUnit.CSharpExamples/OutputHelperTest.cs
  100. +0 −39 examples/FsCheck.XUnit.CSharpExamples/Properties/AssemblyInfo.cs
  101. +31 −0 examples/FsCheck.XUnit.CSharpExamples/ReplayExample.cs
  102. +16 −2 examples/FsCheck.XUnit.CSharpExamples/ReverseFixture.cs
  103. +57 −0 examples/FsCheck.XUnit.CSharpExamples/SyncVersusAsyncExamples.cs
  104. +0 −67 examples/FsCheck.XUnit.CSharpExamples/packages.config
  105. +0 −3 examples/FsCheck.XUnit.CSharpExamples/paket.references
  106. +4 −1 global.json
  107. +0 −14 paket.dependencies
  108. +0 −40 paket.lock
  109. +0 −27 src/FsCheck.NUnit.netcore/FsCheck.NUnit.netcore.fsproj
  110. +14 −8 src/FsCheck.NUnit/AssemblyInfo.fs
  111. +23 −100 src/FsCheck.NUnit/FsCheck.NUnit.fsproj
  112. +176 −65 src/FsCheck.NUnit/FsCheckPropertyAttribute.fs
  113. +0 −27 src/FsCheck.NUnit/packages.config
  114. +0 −2 src/FsCheck.NUnit/paket.references
  115. +0 −32 src/FsCheck.NUnit/paket.template
  116. +0 −145 src/FsCheck.Portable.Profile259/FsCheck.Portable.Profile259.fsproj
  117. +0 −26 src/FsCheck.Portable.Profile259/packages.config
  118. +0 −1 src/FsCheck.Portable.Profile259/paket.references
  119. +0 −127 src/FsCheck.Portable.Profile7/FsCheck.Portable.Profile7.fsproj
  120. +0 −26 src/FsCheck.Portable.Profile7/packages.config
  121. +0 −1 src/FsCheck.Portable.Profile7/paket.references
  122. +0 −136 src/FsCheck.Portable.Profile78/FsCheck.Portable.Profile78.fsproj
  123. +0 −26 src/FsCheck.Portable.Profile78/packages.config
  124. +0 −1 src/FsCheck.Portable.Profile78/paket.references
  125. +0 −31 src/FsCheck.Xunit.netcore/FsCheck.Xunit.netcore.fsproj
  126. +12 −9 src/FsCheck.Xunit/AssemblyInfo.fs
  127. +21 −4 src/FsCheck.Xunit/CheckExtensions.fs
  128. +27 −134 src/FsCheck.Xunit/FsCheck.Xunit.fsproj
  129. +125 −85 src/FsCheck.Xunit/PropertyAttribute.fs
  130. +20 −0 src/FsCheck.Xunit/Runner.fs
  131. +0 −27 src/FsCheck.Xunit/packages.config
  132. +0 −2 src/FsCheck.Xunit/paket.references
  133. +4 −5 src/FsCheck.Xunit/paket.template
  134. +0 −73 src/FsCheck.netcore/FsCheck.netcore.fsproj
  135. +65 −0 src/FsCheck/ArbMap.fs
  136. +0 −1,160 src/FsCheck/Arbitrary.fs
  137. +0 −29 src/FsCheck/ArbitraryExtensions.fs
  138. +12 −9 src/FsCheck/AssemblyInfo.fs
  139. +0 −129 src/FsCheck/Commands.fs
  140. +164 −0 src/FsCheck/DefaultArbTypes.fs
  141. +50 −0 src/FsCheck/FSharp.ArbMap.fs
  142. +154 −0 src/FsCheck/FSharp.Arbitrary.fs
  143. +558 −0 src/FsCheck/FSharp.Gen.fs
  144. +73 −0 src/FsCheck/FSharp.GenBuilder.fs
  145. +96 −0 src/FsCheck/FSharp.Prop.fs
  146. +36 −0 src/FsCheck/Fluent.ArbMap.fs
  147. +73 −0 src/FsCheck/Fluent.Arbitrary.fs
  148. +332 −0 src/FsCheck/Fluent.Gen.fs
  149. +359 −0 src/FsCheck/Fluent.Prop.fs
  150. +46 −108 src/FsCheck/FsCheck.fsproj
  151. +0 −635 src/FsCheck/Gen.fs
  152. +0 −136 src/FsCheck/GenExtensions.fs
  153. +9 −5 src/FsCheck/{Common.fs → Internals.Common.fs}
  154. +1 −123 src/FsCheck/{Data.fs → Internals.Data.fs}
  155. +983 −0 src/FsCheck/Internals.DefaultArbs.fs
  156. +57 −0 src/FsCheck/Internals.Numeric.fs
  157. +249 −0 src/FsCheck/Internals.Reflect.fs
  158. +165 −0 src/FsCheck/Internals.ReflectiveGenerator.fs
  159. +163 −0 src/FsCheck/Internals.ReflectiveShrinker.fs
  160. +163 −0 src/FsCheck/Internals.Shrink.fs
  161. +336 −0 src/FsCheck/Internals.TypeClass.fs
  162. +0 −155 src/FsCheck/Prop.fs
  163. +0 −164 src/FsCheck/PropExtensions.fs
  164. +200 −73 src/FsCheck/Random.fs
  165. +0 −141 src/FsCheck/Reflect.fs
  166. +0 −218 src/FsCheck/ReflectArbitrary.fs
  167. +443 −173 src/FsCheck/Runner.fs
  168. +33 −84 src/FsCheck/RunnerExtensions.fs
  169. +45 −23 src/FsCheck/Script.fsx
  170. +21 −17 src/FsCheck/StateMachine.fs
  171. +168 −139 src/FsCheck/Testable.fs
  172. +0 −161 src/FsCheck/TypeClass.fs
  173. +0 −26 src/FsCheck/packages.config
  174. +0 −1 src/FsCheck/paket.references
  175. +0 −41 src/FsCheck/paket.template
  176. +9 −0 tests/FsCheck.Test.CSharp/FsCheck.Test.CSharp.csproj
  177. +29 −0 tests/FsCheck.Test.CSharp/Records.cs
  178. +0 −27 tests/FsCheck.Test.netcore/FsCheck.Test.netcore.fsproj
  179. +1 −18 tests/FsCheck.Test/App.config
  180. +63 −0 tests/FsCheck.Test/ArbMapTest.fs
  181. +508 −135 tests/FsCheck.Test/Arbitrary.fs
  182. +0 −61 tests/FsCheck.Test/Commands.fs
  183. +70 −0 tests/FsCheck.Test/FsCheck.NUnit/PropertiesAttributeTests.fs
  184. +16 −0 tests/FsCheck.Test/FsCheck.NUnit/PropertyAttributeTests.fs
  185. +44 −192 tests/FsCheck.Test/FsCheck.Test.fsproj
  186. +71 −0 tests/FsCheck.Test/Fscheck.XUnit/PropertyAttributeTests.fs
  187. +235 −175 tests/FsCheck.Test/Gen.fs
  188. +94 −0 tests/FsCheck.Test/GenBuilder.fs
  189. +41 −0 tests/FsCheck.Test/GenExtensions.fs
  190. +6 −3 tests/FsCheck.Test/Helpers.fs
  191. +187 −36 tests/FsCheck.Test/Property.fs
  192. +41 −16 tests/FsCheck.Test/Random.fs
  193. +416 −63 tests/FsCheck.Test/Runner.fs
  194. +16 −14 tests/FsCheck.Test/StateMachine.fs
  195. +134 −3 tests/FsCheck.Test/TypeClass.fs
  196. +0 −67 tests/FsCheck.Test/packages.config
  197. +0 −4 tests/FsCheck.Test/paket.references
12 changes: 12 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"fsharp.formatting.commandtool": {
"version": "9.0.4",
"commands": [
"fsdocs"
]
}
}
}
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -163,3 +163,13 @@ docs/tools/XmlWriter
project.lock.json
.vscode

# Paket
.paket/
.ionide/symbolCache.db

.ionide
.fsdocs/
output/
tmp/

.idea/
Binary file removed .paket/paket.exe
Binary file not shown.
58 changes: 0 additions & 58 deletions .paket/paket.targets

This file was deleted.

12 changes: 0 additions & 12 deletions .travis.yml

This file was deleted.

5 changes: 3 additions & 2 deletions Contributors.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
First of all credit should go to John Hughes and Koen Claessen for coming up with the fist version of Haskell's QuickCheck and many fundanmental improvements and ideas. All contributors to QuickCheck are contributors to FsCheck.
First of all credit should go to John Hughes and Koen Claessen for coming up with the fist version of Haskell's QuickCheck and many fundamental improvements and ideas. All contributors to QuickCheck are contributors to FsCheck.

The same is true, but to a lesser degree, for scalacheck (which is itself a port of QuickCheck to Scala).

@@ -14,8 +14,9 @@ David Crocker (first version of replay mechanism, bug fix)
Howard Mansell (lots of generators and arbitrary instances)
David Jones (tail recursive version of Gen.sequence, bug fixes)
Matthew Peacock (gen workflow extensions)
David Naylor (NUnit 4, sponsored by Counterpoint Dynamics)
(my sincerest apologies to anyone I overlooked - feel free to protest!)

Thanks to:
Howard Mansell and team from Credit Suisse, for taking the time to clear up legal stuff and donate code, and being enthusiastic early adopters.
Everyone that takes the time to report bugs or send feedback.
Everyone that takes the time to report bugs or send feedback.
28 changes: 28 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<PropertyGroup Condition="'$(APPVEYOR_BUILD_VERSION)' != ''">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<PropertyGroup>
<Deterministic>true</Deterministic>
<Copyright>Copyright 2008-2024</Copyright>
<Authors>Kurt Schelfthout and contributors</Authors>
<PackageTags>F# fsharp test random</PackageTags>
<RepositoryUrl>https://github.com/Fscheck/fscheck</RepositoryUrl>
<PackageProjectUrl>https://fscheck.github.io/FsCheck/</PackageProjectUrl>
<PackageLicenseExpression>BSD-3-Clause</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<DebugType>embedded</DebugType>
<PackageIcon>logo.png</PackageIcon>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<PackageTags>test;testing;random;fscheck;quickcheck</PackageTags>
</PropertyGroup>
<ItemGroup>
<None Include="../../docs/img/logo.png" Condition="'$(IsPackable)' == 'true'" >
<Pack>true</Pack>
<PackagePath>\</PackagePath>
</None>
</ItemGroup>
</Project>
31 changes: 31 additions & 0 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<Project>
<UsingTask TaskName="Base64Decode" TaskFactory="RoslynCodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
<ParameterGroup>
<EncodedString ParameterType="System.String" Required="true" />
<DecodedString Output="true" ParameterType="System.String" />
</ParameterGroup>
<Task>
<Using Namespace="System" />
<Using Namespace="System.Text" />
<Code Type="Fragment" Language="cs">
<![CDATA[
DecodedString = Encoding.UTF8.GetString(Convert.FromBase64String(EncodedString));
]]>
</Code>
</Task>
</UsingTask>

<!-- This is the decode end of the base64-encoding that gets the release notes into `dotnet pack`.
The problem is that we can't supply MsBuild properties that contain MsBuild metacharacters.
(At least, I don't know how.)
The release notes are liable to contain MsBuild property metacharacters, such as the comma;
so just before we `dotnet pack`, we base64-encode it. -->
<Target Name="DecodeReleaseNotes" BeforeTargets="GenerateNuspec">
<Base64Decode EncodedString="$(RELEASE_NOTES)">
<Output TaskParameter="DecodedString" PropertyName="DecodedReleaseNotes" />
</Base64Decode>
<PropertyGroup>
<PackageReleaseNotes>$(DecodedReleaseNotes)</PackageReleaseNotes>
</PropertyGroup>
</Target>
</Project>
42 changes: 42 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<Project>
<ItemGroup>
<PackageVersion Include="FSharp.Core" Version="5.0.2" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageVersion Include="Microsoft.NETCore.Platforms" Version="5.0.2" />
<PackageVersion Include="Microsoft.NETCore.Targets" Version="5.0" />
<PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="16.11" />
<PackageVersion Include="MSTest.TestAdapter" Version="3.7.0" />
<PackageVersion Include="MSTest.TestFramework" Version="3.7.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.1" />
<PackageVersion Include="NuGet.Frameworks" Version="5.11" />
<PackageVersion Include="NUnit" Version="[4.0.0, 5.0.0)" />
<PackageVersion Include="NUnit3TestAdapter" Version="4.6.0" />
<PackageVersion Include="System.Buffers" Version="4.5.1" />
<PackageVersion Include="System.Collections" Version="4.3" />
<PackageVersion Include="System.Collections.Immutable" Version="9.0.0" />
<PackageVersion Include="System.Diagnostics.Debug" Version="4.3" />
<PackageVersion Include="System.Diagnostics.TextWriterTraceListener" Version="4.3" />
<PackageVersion Include="System.Diagnostics.TraceSource" Version="4.3" />
<PackageVersion Include="System.Globalization" Version="4.3" />
<PackageVersion Include="System.IO" Version="4.3" />
<PackageVersion Include="System.Memory" Version="4.5.4" />
<PackageVersion Include="System.Numerics.Vectors" Version="4.5" />
<PackageVersion Include="System.Reflection" Version="4.3" />
<PackageVersion Include="System.Reflection.Metadata" Version="5.0" />
<PackageVersion Include="System.Reflection.Primitives" Version="4.3" />
<PackageVersion Include="System.Resources.ResourceManager" Version="4.3" />
<PackageVersion Include="System.Runtime" Version="4.3.1" />
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="5.0" />
<PackageVersion Include="System.Runtime.Extensions" Version="4.3.1" />
<PackageVersion Include="System.Text.Encoding" Version="4.3" />
<PackageVersion Include="System.Threading" Version="4.3" />
<PackageVersion Include="System.Threading.Tasks" Version="4.3" />
<PackageVersion Include="Unquote" Version="6.0" />
<PackageVersion Include="xunit" Version="[2.4.1, 3.0.0)" />
<PackageVersion Include="xunit.core" Version="[2.4.1, 3.0.0)" />
<PackageVersion Include="xunit.extensibility.core" Version="[2.4.1, 3.0.0)" />
<PackageVersion Include="xunit.extensibility.execution" Version="[2.4.1, 3.0.0)" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.0" />
</ItemGroup>
</Project>
Loading