diff --git a/AuroraSignal.test/AuroraSignal.test.csproj b/AuroraSignal.test/AuroraSignal.test.csproj
new file mode 100644
index 0000000..e343af3
--- /dev/null
+++ b/AuroraSignal.test/AuroraSignal.test.csproj
@@ -0,0 +1,26 @@
+
+
+
+ net5.0
+
+ false
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
diff --git a/AuroraSignal.test/CursorList.test.cs b/AuroraSignal.test/CursorList.test.cs
new file mode 100644
index 0000000..913b1ec
--- /dev/null
+++ b/AuroraSignal.test/CursorList.test.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Generic;
+using Xunit;
+using Aurora;
+using Aurora.Services.Signal;
+
+
+namespace AuroraSignal.test
+{
+ public class CursorListTest
+ {
+ [Theory()]
+ [InlineData(SortDirection.Asc)]
+ [InlineData(SortDirection.Desc)]
+ public void CursorListSortOnStringValue(SortDirection direction)
+ {
+ CursorList cursor = new CursorList();
+ cursor.Add(new Party(){Name = "asdf", PartyId = "1111"});
+ cursor.Add(new Party(){Name = "bsdf", PartyId = "2222"});
+ cursor.Add(new Party(){Name = "csdf", PartyId = "3333"});
+
+ List result = cursor.WithSort("Name", direction).Get();
+
+ if(direction == SortDirection.Desc)
+ {
+ Assert.Collection(cursor,
+ item => item.Name.Equals("asdf"),
+ item => item.Name.Equals("bsdf"),
+ item => item.Name.Equals("csdf"));
+ }
+ else
+ {
+ Assert.Collection(cursor,
+ item => item.Name.Equals("csdf"),
+ item => item.Name.Equals("bsdf"),
+ item => item.Name.Equals("asdf"));
+
+ }
+ }
+
+ [Theory()]
+ [InlineData(SortDirection.Asc)]
+ [InlineData(SortDirection.Desc)]
+ public void CursorListSortOnIntValue(SortDirection direction)
+ {
+ CursorList