Skip to content

Commit

Permalink
Update to latest version of F# Formatting (#540)
Browse files Browse the repository at this point in the history
* Update to latest version of FSharp.Formatting. Move things around to make it work.
* Remove Japanese docs - they were out of date and I have no way to maintain them.
* Update Readme.
  • Loading branch information
kurtschelfthout authored Dec 25, 2020
1 parent e429433 commit edd18c4
Show file tree
Hide file tree
Showing 41 changed files with 761 additions and 2,295 deletions.
6 changes: 6 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@
"commands": [
"fake"
]
},
"fsharp.formatting.commandtool": {
"version": "7.2.9",
"commands": [
"fsdocs"
]
}
}
}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -167,4 +167,7 @@ project.lock.json
.paket/Paket.Restore.targets
.ionide/symbolCache.db

.ionide
.ionide
.fsdocs/
output/
tmp/
37 changes: 11 additions & 26 deletions FsCheck.sln
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
build.fsx = build.fsx
Contributors.txt = Contributors.txt
FsCheck Release Notes.md = FsCheck Release Notes.md
docs\tools\generate.fsx = docs\tools\generate.fsx
docs\tools\generate.ja.fsx = docs\tools\generate.ja.fsx
License.txt = License.txt
paket.dependencies = paket.dependencies
README.md = README.md
Expand Down Expand Up @@ -36,33 +34,21 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FsCheck.NUnit", "src\FsChec
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{6B36173B-D4E0-4CF4-840D-3F3016653F85}"
ProjectSection(SolutionItems) = preProject
Docs\content\index.fsx = Docs\content\index.fsx
docs\content\LearningResources.md = docs\content\LearningResources.md
Docs\content\Properties.fsx = Docs\content\Properties.fsx
Docs\content\QuickStart.fsx = Docs\content\QuickStart.fsx
Docs\content\RunningTests.fsx = Docs\content\RunningTests.fsx
Docs\content\StatefulTesting.fsx = Docs\content\StatefulTesting.fsx
docs\content\StatefulTestingNew.fsx = docs\content\StatefulTestingNew.fsx
docs\tools\templates\template.cshtml = docs\tools\templates\template.cshtml
Docs\content\TestData.fsx = Docs\content\TestData.fsx
Docs\content\TipsAndTricks.fsx = Docs\content\TipsAndTricks.fsx
docs\content\users.md = docs\content\users.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ja", "ja", "{34021B41-3EED-409A-AF7C-6EC2BD4371B2}"
ProjectSection(SolutionItems) = preProject
docs\content\ja\index.fsx = docs\content\ja\index.fsx
docs\content\ja\Properties.fsx = docs\content\ja\Properties.fsx
docs\content\ja\QuickStart.fsx = docs\content\ja\QuickStart.fsx
docs\content\ja\RunningTests.fsx = docs\content\ja\RunningTests.fsx
docs\content\ja\StatefulTesting.fsx = docs\content\ja\StatefulTesting.fsx
docs\content\ja\TestData.fsx = docs\content\ja\TestData.fsx
docs\content\ja\TipsAndTricks.fsx = docs\content\ja\TipsAndTricks.fsx
Docs\index.fsx = Docs\index.fsx
Docs\LearningResources.md = Docs\LearningResources.md
Docs\Properties.fsx = Docs\Properties.fsx
Docs\QuickStart.fsx = Docs\QuickStart.fsx
Docs\RunningTests.fsx = Docs\RunningTests.fsx
Docs\StatefulTesting.fsx = Docs\StatefulTesting.fsx
Docs\StatefulTestingNew.fsx = Docs\StatefulTestingNew.fsx
Docs\TestData.fsx = Docs\TestData.fsx
Docs\TipsAndTricks.fsx = Docs\TipsAndTricks.fsx
Docs\users.md = Docs\users.md
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FsCheck.XUnit.CSharpExamples", "examples\FsCheck.XUnit.CSharpExamples\FsCheck.XUnit.CSharpExamples.csproj", "{F24A8502-B118-4BF2-B5F9-CC9DB9A40C23}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharp.DocSnippets", "docs\csharp\CSharp.DocSnippets.csproj", "{6AB84678-E55F-4387-A040-67312735D089}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharp.DocSnippets", "examples\CSharp.DocSnippets\CSharp.DocSnippets.csproj", "{6AB84678-E55F-4387-A040-67312735D089}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -124,7 +110,6 @@ Global
{D87946C4-4607-49A0-B2C6-DEDBBBAE1D5A} = {DA5DD4BB-1953-4614-A5E0-9687C63A7234}
{FC5EACAD-41E5-4D6D-8F31-6FB51D0A0DEF} = {DA5DD4BB-1953-4614-A5E0-9687C63A7234}
{CB41BAC5-272F-4562-9494-E3DC1D0B4139} = {DA5DD4BB-1953-4614-A5E0-9687C63A7234}
{34021B41-3EED-409A-AF7C-6EC2BD4371B2} = {6B36173B-D4E0-4CF4-840D-3F3016653F85}
{F24A8502-B118-4BF2-B5F9-CC9DB9A40C23} = {DA5DD4BB-1953-4614-A5E0-9687C63A7234}
{6AB84678-E55F-4387-A040-67312735D089} = {6B36173B-D4E0-4CF4-840D-3F3016653F85}
EndGlobalSection
Expand Down
47 changes: 27 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

### What is FsCheck? ###
# What is FsCheck? #

FsCheck is a tool for testing .NET programs automatically. The programmer provides a specification of the program, in the form of properties which functions, methods or objects should satisfy, and FsCheck then tests that the properties hold in a large number of randomly generated cases. While writing the properties, you are actually writing a testable specification of your program. Specifications are expressed in F#, C# or VB, using combinators defined in the FsCheck library. FsCheck provides combinators to define properties, observe the distribution of test data, and define test data generators. When a property fails, FsCheck automatically displays a minimal counter example.

Expand All @@ -9,56 +9,63 @@ Since v0.5, [scalacheck](https://github.com/rickynils/scalacheck) has influenced

FsCheck's generator combinators can be used in any testing framework to easily generate a number of random values for many types, and FsCheck itself integrates nicely with existing unit testing frameworks such as NUnit, xUnit, MSTest and MbUnit.

### NuGet ###

Releases:
# Releases #

* [FsCheck](http://nuget.org/List/Packages/FsCheck)
* [FsCheck with xUnit.NET integration](http://nuget.org/List/Packages/FsCheck.Xunit)
* [FsCheck with NUnit integration](http://www.nuget.org/packages/FsCheck.Nunit/)
* [FsCheck.Xunit](http://nuget.org/List/Packages/FsCheck.Xunit)
* [FsCheck.Nunit](http://www.nuget.org/packages/FsCheck.Nunit/)

FsCheck follows [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.html), except for the API exposed in `FsCheck.Experimental` which is subject to change at any time.

All AppVeyor builds are available using the NuGet feed: https://ci.appveyor.com/nuget/fscheck
All AppVeyor builds are available using the NuGet feed: <https://ci.appveyor.com/nuget/fscheck>

If using Paket, add the source at the top of `paket.dependencies`.

```
```paket
source https://www.nuget.org/api/v2
source https://ci.appveyor.com/nuget/fscheck
```

See the build history for a list of available versions: https://ci.appveyor.com/project/kurtschelfthout/fscheck/history
See the build history for a list of available versions: <https://ci.appveyor.com/project/kurtschelfthout/fscheck/history>

Here are some options for specifying the dependency:

```
```paket
nuget FsCheck
nuget FsCheck prerelease
nuget FsCheck 2.0.4
nuget FsCheck 2.0.5-b247
```

### Documentation ###
# Documentation #

* [English](https://fscheck.github.io/FsCheck/)
* [Japanese](https://fscheck.github.io/FsCheck/ja)

### Contributing ###
# Contributing #

Pull requests very welcome!
Pull requests very welcome!

Check out the issues marked up-for-grabs if you need any inspiration.

It's very rare that we reject PRs. Generally, if you intend to make a bigger change, it's better to open an issue first to discuss.

## Building ###
## Building ##

Checkout the project and run build.cmd on Windows or build.sh on Linux/OSX. That should pull in all the dependencies, build and run the tests.

For Visual Studio/MonoDevelop/Xamarin Studio/VsCode: open (the folder that contains) FsCheck.sln and start coding.
For Visual Studio/MonoDevelop/Xamarin Studio/VsCode: open (the folder that contains) FsCheck.sln and start coding.

FsCheck uses FAKE, run `build.[cmd|sh] -t <Target>` to do something. Important targets are:

* `Build`: cleanly builds all platforms in Release mode.
* `Tests`: builds and runs the tests.
* `Docs`: builds and generates documentation. FsCheck uses FSharp.Formatting, so literate fsx files in the docs folder.
* `WatchDocs`: convenient when developing documentation - starts a local webserver and watches for changes in the docs folder.
* `PacketPack`: Creates NuGet packages.
* `CI`: Target that is run on AppVeyor, basically all of the above.

FsCheck uses FAKE, targets for building are `Build` and for testing `RunTests`. Documentation uses FSharp.Formatting, so literate fsx files. To generate the html files, run `build.[cmd|sh] -t Docs`.
## CI ##

- Windows on AppVeyor:[![Build status](https://ci.appveyor.com/api/projects/status/7ytaslpgxxtw7036/branch/master)](https://ci.appveyor.com/project/kurtschelfthout/fscheck)
- Linux on Travis CI: [![Build Status](https://travis-ci.org/fscheck/FsCheck.svg?branch=master)](https://travis-ci.org/fscheck/FsCheck)
| Windows on AppVeyor | Linux on Travis CI
|---------------------|---------------------
| [![Build status](https://ci.appveyor.com/api/projects/status/7ytaslpgxxtw7036/branch/master)](https://ci.appveyor.com/project/kurtschelfthout/fscheck) | [![Build Status](https://travis-ci.org/fscheck/FsCheck.svg?branch=master)](https://travis-ci.org/fscheck/FsCheck)
Loading

0 comments on commit edd18c4

Please sign in to comment.