diff --git a/.gitignore b/.gitignore
index 7282699..ea6ba46 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,9 @@
##
## Get latest from `dotnet new gitignore`
+# reportgenerator output
+CoverageReport/
+
# dotenv files
.env
diff --git a/global.json b/global.json
index 01cb658..a0703e8 100644
--- a/global.json
+++ b/global.json
@@ -2,5 +2,8 @@
"sdk": {
"version": "10.0.400",
"rollForward": "latestFeature"
+ },
+ "test": {
+ "runner": "Microsoft.Testing.Platform"
}
}
diff --git a/scripts/test.ps1 b/scripts/test.ps1
new file mode 100644
index 0000000..c6a6c01
--- /dev/null
+++ b/scripts/test.ps1
@@ -0,0 +1,22 @@
+Write-Host "Starting test execution..." -ForegroundColor Magenta
+Write-Host ""
+
+dotnet test
+
+
+$TestExitCode = $LASTEXITCODE
+
+if ($TestExitCode -eq 0) {
+ Write-Host ""
+ Write-Host "Tests passed. Generating code coverage HTML report..." -ForegroundColor Magenta
+ Write-Host ""
+
+ reportgenerator -reports:"**/*.cobertura.xml" -targetdir:"CoverageReport"
+
+ Write-Host ""
+ Write-Host "SUCCESS: All tests passed and coverage report generated." -ForegroundColor Green
+} else {
+ Write-Host "FAILURE: Tests failed with exit code $TestExitCode. Skipping coverage report generation." -ForegroundColor Red
+}
+
+exit $TestExitCode
diff --git a/src/StevanFreeborn.Atproto.IdentityResolver/Class1.cs b/src/StevanFreeborn.Atproto.IdentityResolver/Class1.cs
deleted file mode 100644
index dad8d95..0000000
--- a/src/StevanFreeborn.Atproto.IdentityResolver/Class1.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace StevanFreeborn.Atproto.IdentityResolver;
-
-internal class Class1
-{
-
-}
\ No newline at end of file
diff --git a/src/StevanFreeborn.Atproto.IdentityResolver/Greeter.cs b/src/StevanFreeborn.Atproto.IdentityResolver/Greeter.cs
new file mode 100644
index 0000000..804fbec
--- /dev/null
+++ b/src/StevanFreeborn.Atproto.IdentityResolver/Greeter.cs
@@ -0,0 +1,9 @@
+namespace StevanFreeborn.Atproto.IdentityResolver;
+
+internal class Greeter
+{
+ public static string SayHello()
+ {
+ return "Hi!";
+ }
+}
\ No newline at end of file
diff --git a/tests/.editorconfig b/tests/.editorconfig
new file mode 100644
index 0000000..79bfd7f
--- /dev/null
+++ b/tests/.editorconfig
@@ -0,0 +1,2 @@
+[*.cs]
+dotnet_diagnostic.CA1707.severity = none
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index 12d9ad0..8696ebd 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -1,3 +1,9 @@
-
+
+
+
+ true
+ --coverage --coverage-output-format cobertura
+
diff --git a/tests/Directory.Packages.props b/tests/Directory.Packages.props
index 25b742d..9b0ac36 100644
--- a/tests/Directory.Packages.props
+++ b/tests/Directory.Packages.props
@@ -4,6 +4,7 @@
+
\ No newline at end of file
diff --git a/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/GreeterTests.cs b/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/GreeterTests.cs
new file mode 100644
index 0000000..f0287a2
--- /dev/null
+++ b/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/GreeterTests.cs
@@ -0,0 +1,10 @@
+namespace StevanFreeborn.Atproto.IdentityResolver.Tests;
+
+public class GreeterTests
+{
+ [Fact]
+ public void SayHello_WhenCalled_ItShouldReturnHi()
+ {
+ Greeter.SayHello().Should().Be("Hi!");
+ }
+}
\ No newline at end of file
diff --git a/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/StevanFreeborn.Atproto.IdentityResolver.Tests.csproj b/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/StevanFreeborn.Atproto.IdentityResolver.Tests.csproj
index 1bf4a9a..ededb26 100644
--- a/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/StevanFreeborn.Atproto.IdentityResolver.Tests.csproj
+++ b/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/StevanFreeborn.Atproto.IdentityResolver.Tests.csproj
@@ -1,11 +1,8 @@
- enable
- enable
Exe
net10.0
- true
@@ -14,10 +11,12 @@
+
+
diff --git a/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/UnitTest1.cs b/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/UnitTest1.cs
deleted file mode 100644
index 7b92e7e..0000000
--- a/tests/StevanFreeborn.Atproto.IdentityResolver.Tests/UnitTest1.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace StevanFreeborn.Atproto.IdentityResolver.Tests;
-
-public class UnitTest1
-{
- [Fact]
- public void Test1()
- {
- Assert.True(true);
- }
-}