diff --git a/.gitignore b/.gitignore
index e69de29..cb02892 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,5 @@
+.idea/
+/Algos.Tests/obj/
+/Algos.Tests/bin/
+/Algos/obj/
+/Algos/bin/
diff --git a/Algos.Tests/Algos.Tests.csproj b/Algos.Tests/Algos.Tests.csproj
new file mode 100644
index 0000000..48ae340
--- /dev/null
+++ b/Algos.Tests/Algos.Tests.csproj
@@ -0,0 +1,23 @@
+
+
+
+ net8.0
+ false
+ latest
+ disable
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
diff --git a/Algos.Tests/ChainResponsibilitiesTests.cs b/Algos.Tests/ChainResponsibilitiesTests.cs
new file mode 100644
index 0000000..0426419
--- /dev/null
+++ b/Algos.Tests/ChainResponsibilitiesTests.cs
@@ -0,0 +1,323 @@
+using System;
+using System.Collections.Generic;
+using Algos.Source.Architectural;
+using Xunit;
+
+namespace Algos.Tests
+{
+ public class ChainResponsibilitiesTests
+ {
+ // Test helper class
+ private class TestResponsibility : IResponsibility
+ {
+ public string Name { get; set; }
+ public Func