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 @@ - - + + +