Simplify Example

This commit is contained in:
Sven van Heugten 2026-05-12 16:34:08 +02:00
parent 9ff53f1803
commit de5843a783
No known key found for this signature in database
GPG key ID: D612F88666F4F660
4 changed files with 5 additions and 5 deletions

4
Example/Calculator.fs Normal file
View file

@ -0,0 +1,4 @@
namespace Example
module Calculator =
let addOne value = value + 1

View file

@ -0,0 +1,21 @@
namespace Example
open Example
open Mutannot
open Xunit
type CalculatorTests() =
[<Fact>]
[<MutationCase("""
diff --git a/Example/Calculator.fs b/Example/Calculator.fs
index 6f0c515..030e391 100644
--- a/Example/Calculator.fs
+++ b/Example/Calculator.fs
@@ -1,4 +1,4 @@
namespace Example
module Calculator =
- let addOne value = value + 1
+ let addOne value = value - 1
""")>]
member _.AddOne_increments() = Assert.Equal(42, Calculator.addOne 41)

21
Example/Example.fsproj Normal file
View file

@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<Compile Include="MutationCaseAttribute.fs" />
<Compile Include="Calculator.fs" />
<Compile Include="CalculatorTests.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>

View file

@ -0,0 +1,9 @@
namespace Mutannot
open System
[<AttributeUsage(AttributeTargets.Method, AllowMultiple = true)>]
type MutationCaseAttribute(patch: string) =
inherit Attribute()
member _.Patch = patch