Browse Source
Add FsCheck and Nunit packages, wire them up and set-up the first FsCheck test. Display tests in Test Explorer (in Visual Studio).master
Craig Oates
6 years ago
7 changed files with 199 additions and 1 deletions
@ -0,0 +1,41 @@ |
|||||||
|
namespace TestCentre.AssemblyInfo |
||||||
|
|
||||||
|
open System.Reflection |
||||||
|
open System.Runtime.CompilerServices |
||||||
|
open System.Runtime.InteropServices |
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following |
||||||
|
// set of attributes. Change these attribute values to modify the information |
||||||
|
// associated with an assembly. |
||||||
|
[<assembly: AssemblyTitle("TestCentre")>] |
||||||
|
[<assembly: AssemblyDescription("")>] |
||||||
|
[<assembly: AssemblyConfiguration("")>] |
||||||
|
[<assembly: AssemblyCompany("")>] |
||||||
|
[<assembly: AssemblyProduct("TestCentre")>] |
||||||
|
[<assembly: AssemblyCopyright("Copyright © 2018")>] |
||||||
|
[<assembly: AssemblyTrademark("")>] |
||||||
|
[<assembly: AssemblyCulture("")>] |
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible |
||||||
|
// to COM components. If you need to access a type in this assembly from |
||||||
|
// COM, set the ComVisible attribute to true on that type. |
||||||
|
[<assembly: ComVisible(false)>] |
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM |
||||||
|
[<assembly: Guid("9eaee0e6-1e90-4c44-ad22-e8ca727b3392")>] |
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values: |
||||||
|
// |
||||||
|
// Major Version |
||||||
|
// Minor Version |
||||||
|
// Build Number |
||||||
|
// Revision |
||||||
|
// |
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers |
||||||
|
// by using the '*' as shown below: |
||||||
|
// [<assembly: AssemblyVersion("1.0.*")>] |
||||||
|
[<assembly: AssemblyVersion("1.0.0.0")>] |
||||||
|
[<assembly: AssemblyFileVersion("1.0.0.0")>] |
||||||
|
|
||||||
|
do |
||||||
|
() |
@ -0,0 +1,16 @@ |
|||||||
|
namespace ConsoleTests |
||||||
|
|
||||||
|
module PropertyTests = |
||||||
|
|
||||||
|
open Xunit |
||||||
|
open FsCheck |
||||||
|
open FsCheck.Xunit |
||||||
|
open Validation |
||||||
|
|
||||||
|
let config = { FsCheck.Config.Default with MaxTest = 10 } |
||||||
|
|
||||||
|
[<Property>] |
||||||
|
let ``colour map is not empty`` () = |
||||||
|
(Map.isEmpty colourList) = false |
||||||
|
|
||||||
|
Check.Quick (``colour map is not empty`` ()) |
@ -0,0 +1,8 @@ |
|||||||
|
// Learn more about F# at http://fsharp.org |
||||||
|
// See the 'F# Tutorial' project for more help. |
||||||
|
|
||||||
|
#load "Library1.fs" |
||||||
|
open TestCentre |
||||||
|
|
||||||
|
// Define your library scripting code here |
||||||
|
|
@ -0,0 +1,112 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||||
|
<Import Project="..\packages\xunit.core.2.4.0\build\xunit.core.props" Condition="Exists('..\packages\xunit.core.2.4.0\build\xunit.core.props')" /> |
||||||
|
<Import Project="..\packages\xunit.runner.visualstudio.2.4.0\build\net20\xunit.runner.visualstudio.props" Condition="Exists('..\packages\xunit.runner.visualstudio.2.4.0\build\net20\xunit.runner.visualstudio.props')" /> |
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
||||||
|
<PropertyGroup> |
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||||
|
<SchemaVersion>2.0</SchemaVersion> |
||||||
|
<ProjectGuid>9eaee0e6-1e90-4c44-ad22-e8ca727b3392</ProjectGuid> |
||||||
|
<OutputType>Library</OutputType> |
||||||
|
<RootNamespace>TestCentre</RootNamespace> |
||||||
|
<AssemblyName>TestCentre</AssemblyName> |
||||||
|
<UseStandardResourceNames>true</UseStandardResourceNames> |
||||||
|
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion> |
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> |
||||||
|
<Name>TestCentre</Name> |
||||||
|
<NuGetPackageImportStamp> |
||||||
|
</NuGetPackageImportStamp> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||||
|
<DebugSymbols>true</DebugSymbols> |
||||||
|
<DebugType>full</DebugType> |
||||||
|
<Optimize>false</Optimize> |
||||||
|
<Tailcalls>false</Tailcalls> |
||||||
|
<OutputPath>bin\$(Configuration)\</OutputPath> |
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||||
|
<WarningLevel>3</WarningLevel> |
||||||
|
<DocumentationFile>bin\$(Configuration)\$(AssemblyName).XML</DocumentationFile> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||||
|
<DebugType>pdbonly</DebugType> |
||||||
|
<Optimize>true</Optimize> |
||||||
|
<Tailcalls>true</Tailcalls> |
||||||
|
<OutputPath>bin\$(Configuration)\</OutputPath> |
||||||
|
<DefineConstants>TRACE</DefineConstants> |
||||||
|
<WarningLevel>3</WarningLevel> |
||||||
|
<DocumentationFile>bin\$(Configuration)\$(AssemblyName).XML</DocumentationFile> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup> |
||||||
|
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(FSharpTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets') "> |
||||||
|
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath> |
||||||
|
</PropertyGroup> |
||||||
|
<Import Project="$(FSharpTargetsPath)" /> |
||||||
|
<ItemGroup> |
||||||
|
<Compile Include="AssemblyInfo.fs" /> |
||||||
|
<Compile Include="ConsoleTests.fs" /> |
||||||
|
<None Include="Script.fsx" /> |
||||||
|
<Content Include="packages.config" /> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Reference Include="FsCheck"> |
||||||
|
<HintPath>..\packages\FsCheck.2.11.0\lib\net452\FsCheck.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="FsCheck.Xunit"> |
||||||
|
<HintPath>..\packages\FsCheck.Xunit.2.11.0\lib\net452\FsCheck.Xunit.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="FSharp.Core"> |
||||||
|
<HintPath>..\packages\FSharp.Core.4.5.2\lib\net45\FSharp.Core.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="mscorlib" /> |
||||||
|
<Reference Include="System" /> |
||||||
|
<Reference Include="System.Core" /> |
||||||
|
<Reference Include="System.Drawing" /> |
||||||
|
<Reference Include="System.Numerics" /> |
||||||
|
<Reference Include="System.ValueTuple"> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="xunit.abstractions"> |
||||||
|
<HintPath>..\packages\xunit.abstractions.2.0.3\lib\net35\xunit.abstractions.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="xunit.assert"> |
||||||
|
<HintPath>..\packages\xunit.assert.2.4.0\lib\netstandard2.0\xunit.assert.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="xunit.core"> |
||||||
|
<HintPath>..\packages\xunit.extensibility.core.2.4.0\lib\net452\xunit.core.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="xunit.execution.desktop"> |
||||||
|
<HintPath>..\packages\xunit.extensibility.execution.2.4.0\lib\net452\xunit.execution.desktop.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<ProjectReference Include="..\SmoulderingBeachBallCLI\SmoulderingBeachBallCLI.fsproj"> |
||||||
|
<Name>SmoulderingBeachBallCLI</Name> |
||||||
|
<Project>{5c00d583-ef09-4fe6-a3fe-eb01454c0607}</Project> |
||||||
|
<Private>True</Private> |
||||||
|
</ProjectReference> |
||||||
|
<ProjectReference Include="..\SmoulderingBeachBall\SmoulderingBeachBall.fsproj"> |
||||||
|
<Name>SmoulderingBeachBall</Name> |
||||||
|
<Project>{dfc3cbca-3da7-4cf4-a8bc-bccb740fa6cd}</Project> |
||||||
|
<Private>True</Private> |
||||||
|
</ProjectReference> |
||||||
|
</ItemGroup> |
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> |
||||||
|
<PropertyGroup> |
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> |
||||||
|
</PropertyGroup> |
||||||
|
<Error Condition="!Exists('..\packages\xunit.runner.visualstudio.2.4.0\build\net20\xunit.runner.visualstudio.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.runner.visualstudio.2.4.0\build\net20\xunit.runner.visualstudio.props'))" /> |
||||||
|
<Error Condition="!Exists('..\packages\xunit.core.2.4.0\build\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.4.0\build\xunit.core.props'))" /> |
||||||
|
<Error Condition="!Exists('..\packages\xunit.core.2.4.0\build\xunit.core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.4.0\build\xunit.core.targets'))" /> |
||||||
|
</Target> |
||||||
|
<Import Project="..\packages\xunit.core.2.4.0\build\xunit.core.targets" Condition="Exists('..\packages\xunit.core.2.4.0\build\xunit.core.targets')" /> |
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||||
|
Other similar extension points exist, see Microsoft.Common.targets. |
||||||
|
<Target Name="BeforeBuild"> |
||||||
|
</Target> |
||||||
|
<Target Name="AfterBuild"> |
||||||
|
</Target> |
||||||
|
--> |
||||||
|
</Project> |
@ -0,0 +1,15 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<packages> |
||||||
|
<package id="FsCheck" version="2.11.0" targetFramework="net471" /> |
||||||
|
<package id="FsCheck.Xunit" version="2.11.0" targetFramework="net471" /> |
||||||
|
<package id="FSharp.Core" version="4.5.2" targetFramework="net471" /> |
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net471" /> |
||||||
|
<package id="xunit" version="2.4.0" targetFramework="net471" /> |
||||||
|
<package id="xunit.abstractions" version="2.0.3" targetFramework="net471" /> |
||||||
|
<package id="xunit.analyzers" version="0.10.0" targetFramework="net471" /> |
||||||
|
<package id="xunit.assert" version="2.4.0" targetFramework="net471" /> |
||||||
|
<package id="xunit.core" version="2.4.0" targetFramework="net471" /> |
||||||
|
<package id="xunit.extensibility.core" version="2.4.0" targetFramework="net471" /> |
||||||
|
<package id="xunit.extensibility.execution" version="2.4.0" targetFramework="net471" /> |
||||||
|
<package id="xunit.runner.visualstudio" version="2.4.0" targetFramework="net471" developmentDependency="true" /> |
||||||
|
</packages> |
Loading…
Reference in new issue