diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index 5c2ac22..74b58bb 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -13,18 +13,14 @@ on:
jobs:
build:
- runs-on: ${{ matrix.os }}
-
- strategy:
- matrix:
- os: [ubuntu-latest, windows-latest]
+ runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
- dotnet-version: 7.0.x
+ dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
diff --git a/Tests/skullOS.Core.Tests/skullOS.Core.Tests.csproj b/CoreTests/CoreTests.csproj
similarity index 63%
rename from Tests/skullOS.Core.Tests/skullOS.Core.Tests.csproj
rename to CoreTests/CoreTests.csproj
index 9aad537..8556725 100644
--- a/Tests/skullOS.Core.Tests/skullOS.Core.Tests.csproj
+++ b/CoreTests/CoreTests.csproj
@@ -1,21 +1,22 @@
- net7.0
+ net8.0
enable
enable
false
+ true
-
-
-
+
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
@@ -25,4 +26,14 @@
+
+
+
+
+
+
+ PreserveNewest
+
+
+
diff --git a/CoreTests/FileManagerTests.cs b/CoreTests/FileManagerTests.cs
new file mode 100644
index 0000000..1d0ea89
--- /dev/null
+++ b/CoreTests/FileManagerTests.cs
@@ -0,0 +1,7 @@
+namespace CoreTests
+{
+ public class FileManagerTests
+ {
+
+ }
+}
diff --git a/Tests/skullOS.Core.Tests/Usings.cs b/CoreTests/GlobalUsings.cs
similarity index 100%
rename from Tests/skullOS.Core.Tests/Usings.cs
rename to CoreTests/GlobalUsings.cs
diff --git a/CoreTests/LoggerTests.cs b/CoreTests/LoggerTests.cs
new file mode 100644
index 0000000..fa084c4
--- /dev/null
+++ b/CoreTests/LoggerTests.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CoreTests
+{
+ internal class LoggerTests
+ {
+ }
+}
diff --git a/CoreTests/SettingsTests.cs b/CoreTests/SettingsTests.cs
new file mode 100644
index 0000000..6fca46e
--- /dev/null
+++ b/CoreTests/SettingsTests.cs
@@ -0,0 +1,17 @@
+using skullOS.Core;
+
+namespace CoreTests
+{
+ public class SettingsTests
+ {
+ [Fact]
+ public void TestSettingsLoader()
+ {
+ var result = SettingsLoader.LoadConfig(@"TestData/TestSettings.txt");
+ Assert.NotNull(result);
+ Assert.Single(result);
+ result.TryGetValue("Worked", out string response);
+ Assert.Equal("True", response);
+ }
+ }
+}
diff --git a/CoreTests/TestData/TestSettings.txt b/CoreTests/TestData/TestSettings.txt
new file mode 100644
index 0000000..e360a09
--- /dev/null
+++ b/CoreTests/TestData/TestSettings.txt
@@ -0,0 +1 @@
+Worked=True
\ No newline at end of file
diff --git a/ModuleTests/AdventureTest.cs b/ModuleTests/AdventureTest.cs
new file mode 100644
index 0000000..ec6f0d2
--- /dev/null
+++ b/ModuleTests/AdventureTest.cs
@@ -0,0 +1,51 @@
+using Moq;
+using skullOS.Core;
+using skullOS.HardwareServices.Interfaces;
+using skullOS.Modules;
+using skullOS.Modules.Exceptions;
+
+namespace ModuleTests
+{
+ public class AdventureTest
+ {
+ Mock cameraMock;
+ Adventure sut;
+ public AdventureTest()
+ {
+ FileManager.CreateSkullDirectory(false, true);
+
+ cameraMock = new();
+ cameraMock.Setup(camera => camera.TakePictureAsync(It.IsAny())).Returns(Task.FromResult("Pass"));
+ sut = new(cameraMock.Object);
+ }
+
+ [Fact]
+ public void CanCreateAdventureModule()
+ {
+ Assert.NotNull(sut);
+ }
+ [Fact]
+ public void OnEnableThrowsException()
+ {
+ Assert.Throws(() => sut.OnEnable(It.IsAny()));
+ }
+ [Fact]
+ public void OnActionThrowsException()
+ {
+ Assert.Throws(() => sut.OnAction(It.IsAny