diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..fa5818b
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,48 @@
+# Use the latest 2.1 version of CircleCI pipeline process engine.
+# See: https://circleci.com/docs/configuration-reference
+version: 2.1
+
+# The Windows orb gives you everything you
+# need to start using the Windows executor.
+orbs:
+ rhino: crashcloud/rhino@0.4.0
+
+
+# Define a job to be invoked later in a workflow.
+# See: https://circleci.com/docs/configuration-reference/#jobs
+jobs:
+ setup-env:
+ machine:
+ image: 'windows-server-2022-gui:current'
+ resource_class: windows.medium
+ shell: powershell.exe -ExecutionPolicy Bypass
+
+ steps:
+
+ - checkout
+
+ - rhino/setup_rhino:
+ version: '7'
+
+ - run:
+ name: Restore NuGet Packages
+ command: nuget restore NRhinoGenerator.sln
+
+ - run:
+ name: Build
+ command: dotnet build NRhinoGenerator.sln /p:Configuration=Release
+
+ - run:
+ name: Run Tests
+ command: |
+ # Change the path and command according to your test project
+ cd NRhinoGenerator
+ dotnet test
+
+
+# Orchestrate jobs using workflows
+# See: https://circleci.com/docs/configuration-reference/#workflows
+workflows:
+ unit-test:
+ jobs:
+ - setup-env
diff --git a/src/NRhinoGenerator.csproj b/src/NRhinoGenerator.csproj
index 89e01bd..a2b60d4 100644
--- a/src/NRhinoGenerator.csproj
+++ b/src/NRhinoGenerator.csproj
@@ -38,8 +38,8 @@
-
-
+
+
diff --git a/tests/Tests/NBox.cs b/tests/Tests/NBox.cs
index 85f6b34..dabefed 100644
--- a/tests/Tests/NBox.cs
+++ b/tests/Tests/NBox.cs
@@ -7,7 +7,7 @@
namespace Tests
{
- [TestFixture]
+ [MultiRhinoFixtureAttribute]
public class NBox_Tests
{
public const int TEST_COUNT = 10_000;
diff --git a/tests/Tests/NPoint3d.cs b/tests/Tests/NPoint3d.cs
index f6c7752..caacbe9 100644
--- a/tests/Tests/NPoint3d.cs
+++ b/tests/Tests/NPoint3d.cs
@@ -7,7 +7,7 @@
namespace Tests
{
- [TestFixture]
+ [MultiRhinoFixtureAttribute]
public class NPoint3d_Tests
{
public const int TEST_COUNT = 10_000;
diff --git a/tests/Tests/NVector3d.cs b/tests/Tests/NVector3d.cs
index 8596933..b411e3d 100644
--- a/tests/Tests/NVector3d.cs
+++ b/tests/Tests/NVector3d.cs
@@ -7,7 +7,7 @@
namespace Tests
{
- [TestFixture]
+ [MultiRhinoFixtureAttribute]
public class NVector3d_Tests
{
public const int TEST_COUNT = 10_000;
diff --git a/tests/Tests/Properties/MultiRhinoFixtureAttribute.cs b/tests/Tests/Properties/MultiRhinoFixtureAttribute.cs
new file mode 100644
index 0000000..d2f96e2
--- /dev/null
+++ b/tests/Tests/Properties/MultiRhinoFixtureAttribute.cs
@@ -0,0 +1,21 @@
+public class MultiRhinoFixtureAttribute : RhinoFixtureAttribute
+{
+
+ public MultiRhinoFixtureAttribute()
+ {
+#if NET48
+ RhinoVersion version = RhinoVersion.v7;
+#endif
+
+#if NET5_0_OR_GREATER
+ RhinoVersion version = RhinoVersion.v8;
+#endif
+
+ var options = new FixtureOptions
+ {
+ Version = version,
+ };
+ Init(options);
+ }
+
+}
diff --git a/tests/Tests/Tests.csproj b/tests/Tests/Tests.csproj
index f35cd67..6db5a7b 100644
--- a/tests/Tests/Tests.csproj
+++ b/tests/Tests/Tests.csproj
@@ -9,10 +9,11 @@
-
-
+
+
+