diff --git a/critterfolio/CritterFolio/CritterFolio.sln b/critterfolio/CritterFolio/CritterFolio.sln
index 5593075..1dff9c1 100644
--- a/critterfolio/CritterFolio/CritterFolio.sln
+++ b/critterfolio/CritterFolio/CritterFolio.sln
@@ -18,6 +18,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CritterFolioTests", "CritterFolioTests\CritterFolioTests.csproj", "{8FC9599B-8CE1-4AA2-B428-17F923598643}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -44,6 +46,10 @@ Global
{7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8FC9599B-8CE1-4AA2-B428-17F923598643}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8FC9599B-8CE1-4AA2-B428-17F923598643}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8FC9599B-8CE1-4AA2-B428-17F923598643}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8FC9599B-8CE1-4AA2-B428-17F923598643}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/critterfolio/CritterFolio/CritterFolio/CritterFolio.csproj b/critterfolio/CritterFolio/CritterFolio/CritterFolio.csproj
index 84ffa13..7ce8fe2 100644
--- a/critterfolio/CritterFolio/CritterFolio/CritterFolio.csproj
+++ b/critterfolio/CritterFolio/CritterFolio/CritterFolio.csproj
@@ -29,4 +29,10 @@
+
+
+
+ <_Parameter1>CritterFolioTests
+
+
diff --git a/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml.cs b/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml.cs
index 60a3938..d6a9521 100644
--- a/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml.cs
+++ b/critterfolio/CritterFolio/CritterFolio/Pages/HomePage.axaml.cs
@@ -111,7 +111,7 @@ public partial class HomePage : Page
Sys.Navigation?.PushPage(critterPage);
}
- private async void AddButtonClicked(object? sender, RoutedEventArgs e)
+ internal async void AddButtonClicked(object? sender, RoutedEventArgs e)
{
var newCritter = new Critter();
try
diff --git a/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml.cs b/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml.cs
index 68cb21f..b5758e0 100644
--- a/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml.cs
+++ b/critterfolio/CritterFolio/CritterFolio/Pages/TestPage.axaml.cs
@@ -48,8 +48,8 @@ public partial class TestPage : Page
};
await DatabaseService.AddCritter(polities);
- var torielId = (await DatabaseService.GetCritter("Toriel")).Id;
- var poliId = (await DatabaseService.GetCritter("Polities")).Id;
+ var torielId = (await DatabaseService.GetCritter("Toriel"))!.Id;
+ var poliId = (await DatabaseService.GetCritter("Polities"))!.Id;
var jessie = new Critter
{
diff --git a/critterfolio/CritterFolio/CritterFolioTests/CritterFolioTests.csproj b/critterfolio/CritterFolio/CritterFolioTests/CritterFolioTests.csproj
new file mode 100644
index 0000000..9a4dbc0
--- /dev/null
+++ b/critterfolio/CritterFolio/CritterFolioTests/CritterFolioTests.csproj
@@ -0,0 +1,28 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+ false
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/critterfolio/CritterFolio/CritterFolioTests/UnitTest1.cs b/critterfolio/CritterFolio/CritterFolioTests/UnitTest1.cs
new file mode 100644
index 0000000..e486fd9
--- /dev/null
+++ b/critterfolio/CritterFolio/CritterFolioTests/UnitTest1.cs
@@ -0,0 +1,34 @@
+using Avalonia.Interactivity;
+using CritterFolio;
+using CritterFolio.DataModels;
+using CritterFolio.Pages;
+using CritterFolio.Services;
+
+namespace CritterFolioTests;
+
+public class Tests
+{
+ [SetUp]
+ public void Setup()
+ {
+ }
+
+ [Test]
+ public async Task TestAddingCritter()
+ {
+ var homePage = new HomePage();
+ var currentCritterDbCount = (await DatabaseService.GetAllCritters()).Count;
+
+ homePage.AddButtonClicked(null, new RoutedEventArgs());
+
+ var newCritterDbCount = (await DatabaseService.GetAllCritters()).Count;
+
+ Assert.That(newCritterDbCount == currentCritterDbCount + 1, Is.True);
+ }
+
+ [Test]
+ public async Task TestGettingCritter()
+ {
+ Assert.That(await DatabaseService.GetCritter(-1), Is.True);
+ }
+}
\ No newline at end of file
diff --git a/critterfolio/CritterFolio/Directory.Packages.props b/critterfolio/CritterFolio/Directory.Packages.props
index e919647..2b64959 100644
--- a/critterfolio/CritterFolio/Directory.Packages.props
+++ b/critterfolio/CritterFolio/Directory.Packages.props
@@ -20,5 +20,10 @@
+
+
+
+
+
\ No newline at end of file