From 91a69a897aacccebc94f6b453fdd5cd7aa7acd7b Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Thu, 4 Jul 2024 16:00:58 +0100 Subject: [PATCH] Add Revit 2023 and Rhino 7 Converter Tests with Fakes (#3) * Moved code * update fakes * add code coverage * try code coverage again * fix test finding * still file problem? * try token a different way --- .github/workflows/ci.yml | 7 + Build/Consts.cs | 1 - Build/Program.cs | 15 +- .../packages.lock.json | 9 +- .../ModelCurveArrayToSpeckleConverterTests.cs | 96 ++++ .../Speckle.Converters.Revit2023.Tests.csproj | 25 + .../XyzConversionToPointTests.cs | 61 ++ .../packages.lock.json | 530 ++++++++++++++++++ .../Helpers/DisplayValueExtractor.cs | 3 +- .../Helpers/ParameterValueExtractor.cs | 4 +- .../ReferencePointConverter.cs | 9 +- .../RevitConversionSettings.cs | 2 +- .../Services/RevitToSpeckleUnitConverter.cs | 2 +- .../Services/ScalingServiceToSpeckle.cs | 4 +- .../Raw/Geometry/ICurveConverterToHost.cs | 5 +- .../TopLevel/LevelToHostTopLevelConverter.cs | 2 +- .../Raw/Geometry/ArcToSpeckleConverter.cs | 4 +- .../Geometry/PointCloudToSpeckleConverter.cs | 2 +- .../Raw/Geometry/XyzConversionToPoint.cs | 4 +- .../Raw/ModelCurveArrayToSpeckleConverter.cs | 4 +- .../DirectShapeTopLevelConverterToSpeckle.cs | 2 +- ...FootPrintRoofToSpeckleTopLevelConverter.cs | 2 +- .../ModelCurveToSpeckleTopLevelConverter.cs | 2 +- .../TopographyTopLevelConverterToSpeckle.cs | 2 +- ...nverters.Rhino7.DependencyInjection.csproj | 6 +- .../packages.lock.json | 12 +- .../EllipseToSpeckleConverterTests.cs | 29 + .../Speckle.Converters.Rhino7.Tests.csproj | 25 + .../packages.lock.json | 530 ++++++++++++++++++ .../Speckle.Converters.Rhino7.csproj | 2 + .../GlobalUsings.cs | 0 .../RhinoConversionContextStack.cs | 0 .../RhinoToSpeckleUnitConverter.cs | 2 +- .../Speckle.Converters.RhinoShared.projitems | 14 + .../Speckle.Converters.RhinoShared.shproj | 13 + ...ckleToHostGeometryBaseTopLevelConverter.cs | 0 .../ToHost/Raw/ArcToHostConverter.cs | 0 .../ToHost/Raw/BrepToHostConverter.cs | 0 .../ToHost/Raw/CircleToHostConverter.cs | 0 .../ToHost/Raw/CurveToHostConverter.cs | 0 .../ToHost/Raw/EllipseToHostConverter.cs | 0 .../Raw/FlatPointListToHostConverter.cs | 0 .../ToHost/Raw/IntervalToHostConverter.cs | 0 .../ToHost/Raw/LineToHostConverter.cs | 0 .../ToHost/Raw/MeshToHostConverter.cs | 0 .../ToHost/Raw/NurbsCurveToHostConverter.cs | 0 .../ToHost/Raw/PlaneToHostConverter.cs | 0 .../ToHost/Raw/PointCloudToHostConverter.cs | 0 .../ToHost/Raw/PointToHostConverter.cs | 0 .../ToHost/Raw/PolyCurveToHostConverter.cs | 0 .../ToHost/Raw/PolylineToHostConverter.cs | 0 .../ToHost/Raw/SpiralToHostConverter.cs | 0 .../ToHost/Raw/SurfaceToHostConverter.cs | 0 .../ToHost/Raw/VectorToHostConverter.cs | 0 .../TopLevel/ArcToHostTopLevelConverter.cs | 0 .../TopLevel/BrepToHostTopLevelConverter.cs | 0 .../TopLevel/CircleToHostTopLevelConverter.cs | 0 .../EllipseToHostTopLevelConverter.cs | 0 .../FallbackToHostTopLevelConverter.cs | 0 .../TopLevel/LineToHostTopLevelConverter.cs | 0 .../TopLevel/MeshToHostTopLevelConverter.cs | 0 .../NurbsCurveToHostTopLevelConverter.cs | 0 .../PointCloudToHostTopLevelConverter.cs | 0 .../TopLevel/PointToHostTopLevelConverter.cs | 0 .../PolycurveToHostTopLevelConverter.cs | 0 .../PolylineToHostTopLevelConverter.cs | 0 .../Raw/ArcCurveToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/ArcToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/BoxToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/BrepToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/CircleToSpeckleConverter.cs | 0 .../Raw/ControlPointToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/CurveToSpeckleConverter.cs | 0 .../Raw/EllipseToSpeckleConverter.cs | 0 .../Raw/IntervalToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/LineToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/MeshToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/NurbsCurveConverter.cs | 0 .../Raw/NurbsSurfaceToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/PlaneToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/PointToSpeckleConverter.cs | 0 .../Raw/PolyCurveToSpeckleConverter.cs | 0 .../Raw/PolylineToSpeckleConverter.cs | 0 .../ToSpeckle/Raw/RawPointCloudToSpeckle.cs | 0 .../ToSpeckle/Raw/VectorToSpeckleConverter.cs | 0 .../BrepObjectToSpeckleTopLevelConverter.cs | 0 .../CurveObjectToSpeckleTopLevelConverter.cs | 0 ...trusionObjectToSpeckleTopLevelConverter.cs | 0 .../MeshObjectToSpeckleTopLevelConverter.cs | 0 ...ntCloudObjectToSpeckleTopLevelConverter.cs | 0 .../PointObjectToSpeckleTopLevelConverter.cs | 0 .../RhinoObjectToSpeckleTopLevelConverter.cs | 0 README.md | 1 + .../ContextWrapper.cs | 2 +- .../ConversionContext.cs | 7 +- .../ConversionContextStack.cs | 4 +- Speckle.Connectors.sln | 18 + codecov.yml | 7 + 98 files changed, 1414 insertions(+), 55 deletions(-) create mode 100644 Converters/Revit/Speckle.Converters.Revit2023.Tests/ModelCurveArrayToSpeckleConverterTests.cs create mode 100644 Converters/Revit/Speckle.Converters.Revit2023.Tests/Speckle.Converters.Revit2023.Tests.csproj create mode 100644 Converters/Revit/Speckle.Converters.Revit2023.Tests/XyzConversionToPointTests.cs create mode 100644 Converters/Revit/Speckle.Converters.Revit2023.Tests/packages.lock.json create mode 100644 Converters/Rhino/Speckle.Converters.Rhino7.Tests/EllipseToSpeckleConverterTests.cs create mode 100644 Converters/Rhino/Speckle.Converters.Rhino7.Tests/Speckle.Converters.Rhino7.Tests.csproj create mode 100644 Converters/Rhino/Speckle.Converters.Rhino7.Tests/packages.lock.json rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/GlobalUsings.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/RhinoConversionContextStack.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/RhinoToSpeckleUnitConverter.cs (94%) create mode 100644 Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.projitems create mode 100644 Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.shproj rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/SpeckleToHostGeometryBaseTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/ArcToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/BrepToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/CircleToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/CurveToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/EllipseToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/FlatPointListToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/IntervalToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/LineToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/MeshToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/NurbsCurveToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/PlaneToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/PointCloudToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/PointToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/PolyCurveToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/PolylineToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/SpiralToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/SurfaceToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/Raw/VectorToHostConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/ArcToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/BrepToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/CircleToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/EllipseToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/FallbackToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/LineToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/MeshToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/NurbsCurveToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/PointCloudToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/PointToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/PolycurveToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToHost/TopLevel/PolylineToHostTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/ArcCurveToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/ArcToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/BoxToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/BrepToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/CircleToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/ControlPointToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/CurveToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/EllipseToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/IntervalToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/LineToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/MeshToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/NurbsCurveConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/NurbsSurfaceToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/PlaneToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/PointToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/PolyCurveToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/PolylineToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/RawPointCloudToSpeckle.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/Raw/VectorToSpeckleConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/TopLevel/BrepObjectToSpeckleTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/TopLevel/CurveObjectToSpeckleTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/TopLevel/ExtrusionObjectToSpeckleTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/TopLevel/MeshObjectToSpeckleTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/TopLevel/PointCloudObjectToSpeckleTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/TopLevel/PointObjectToSpeckleTopLevelConverter.cs (100%) rename Converters/Rhino/{Speckle.Converters.Rhino7 => Speckle.Converters.RhinoShared}/ToSpeckle/TopLevel/RhinoObjectToSpeckleTopLevelConverter.cs (100%) create mode 100644 codecov.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 71e032252..2a7c2110d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,6 +37,13 @@ jobs: - name: ⚒️ Run build run: ./build.ps1 + + - name: Upload coverage reports to Codecov with GitHub Action + uses: codecov/codecov-action@v4 + with: + files: ./**/*.Tests/coverage.xml + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: ⬆️ Upload artifacts uses: actions/upload-artifact@v4 diff --git a/Build/Consts.cs b/Build/Consts.cs index 1862d7332..5af05de4e 100644 --- a/Build/Consts.cs +++ b/Build/Consts.cs @@ -3,7 +3,6 @@ public static class Consts { public static readonly string[] Solutions = ["Speckle.Connectors.sln" ]; - public static readonly string[] TestProjects = []; public static readonly InstallerProject[] InstallerManifests = { diff --git a/Build/Program.cs b/Build/Program.cs index 099d265d3..8f06f2c8a 100644 --- a/Build/Program.cs +++ b/Build/Program.cs @@ -79,6 +79,7 @@ void RemoveDirectory(string d) Target( RESTORE, + DependsOn(FORMAT), Consts.Solutions, s => { @@ -111,18 +112,10 @@ void RemoveDirectory(string d) Target( TEST, DependsOn(BUILD), - Consts.TestProjects, - t => + Glob.Files(".", "**/*.Tests.csproj"), + file => { - IEnumerable GetFiles(string d) - { - return Glob.Files(".", d); - } - - foreach (var file in GetFiles($"**/{t}.csproj")) - { - Run("dotnet", $"test {file} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true"); - } + Run("dotnet", $"test {file} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true"); } ); diff --git a/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json b/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json index 53de68cb6..b85fe9941 100644 --- a/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json +++ b/Connectors/Rhino/Speckle.Connectors.Rhino7/packages.lock.json @@ -477,10 +477,17 @@ "Speckle.Converters.Common": "[2.0.999-local, )" } }, + "speckle.converters.rhino7": { + "type": "Project", + "dependencies": { + "RhinoCommon": "[7.13.21348.13001, )", + "Speckle.Converters.Common": "[2.0.999-local, )" + } + }, "speckle.converters.rhino7.dependencyinjection": { "type": "Project", "dependencies": { - "RhinoCommon": "[7.13.21348.13001, )" + "Speckle.Converters.Rhino7": "[2.0.999-local, )" } }, "Microsoft.Extensions.Logging.Abstractions": { diff --git a/Converters/Revit/Speckle.Converters.Revit2023.Tests/ModelCurveArrayToSpeckleConverterTests.cs b/Converters/Revit/Speckle.Converters.Revit2023.Tests/ModelCurveArrayToSpeckleConverterTests.cs new file mode 100644 index 000000000..553c307d3 --- /dev/null +++ b/Converters/Revit/Speckle.Converters.Revit2023.Tests/ModelCurveArrayToSpeckleConverterTests.cs @@ -0,0 +1,96 @@ +using System.Collections; +using FluentAssertions; +using Moq; +using NUnit.Framework; +using Objects; +using Speckle.Converters.Common; +using Speckle.Converters.Common.Objects; +using Speckle.Converters.RevitShared; +using Speckle.Converters.RevitShared.Helpers; +using Speckle.Converters.RevitShared.Raw; +using Speckle.Converters.RevitShared.Services; + +namespace Speckle.Converters.Revit2023.Tests; + +public class ModelCurveArrayToSpeckleConverterTests +{ + private MockRepository _repository; + + private Mock _revitConversionContextStack; + private Mock _scalingServiceToSpeckle; + private Mock> _curveConverter; + + [SetUp] + public void Start() + { + _repository = new(MockBehavior.Strict); + _revitConversionContextStack = _repository.Create(); + _scalingServiceToSpeckle = _repository.Create(); + _curveConverter = _repository.Create>(); + } + + [TearDown] + public void Verify() => _repository.VerifyAll(); + + [Test] + public void Convert_Empty() + { + var sut = new ModelCurveArrayToSpeckleConverter( + _revitConversionContextStack.Object, + _scalingServiceToSpeckle.Object, + _curveConverter.Object + ); + var array = _repository.Create(); + array.Setup(x => x.GetEnumerator()).Returns(Enumerable.Empty().GetEnumerator()); + Assert.Throws(() => sut.Convert(array.Object)); + } + + [Test] + public void Convert() + { + var endpoint1 = _repository.Create(); + var geometry1 = _repository.Create(); + var curve1 = _repository.Create(); + curve1.Setup(x => x.GeometryCurve).Returns(geometry1.Object); + geometry1.Setup(x => x.Length).Returns(2); + geometry1.Setup(x => x.GetEndPoint(0)).Returns(endpoint1.Object); + + var endpoint2 = _repository.Create(); + var geometry2 = _repository.Create(); + var curve2 = _repository.Create(); + curve2.Setup(x => x.GeometryCurve).Returns(geometry2.Object); + geometry2.Setup(x => x.Length).Returns(3); + geometry2.Setup(x => x.GetEndPoint(1)).Returns(endpoint2.Object); + + var context = _repository.Create>(); + _revitConversionContextStack.Setup(x => x.Current).Returns(context.Object); + + var units = "units"; + context.Setup(x => x.SpeckleUnits).Returns(units); + + var scaleLength = 2.2; + _scalingServiceToSpeckle.Setup(x => x.ScaleLength(2 + 3)).Returns(scaleLength); + + endpoint1.Setup(x => x.DistanceTo(endpoint2.Object)).Returns(4.4); + + _curveConverter.Setup(x => x.Convert(geometry1.Object)).Returns(_repository.Create().Object); + _curveConverter.Setup(x => x.Convert(geometry2.Object)).Returns(_repository.Create().Object); + + var sut = new ModelCurveArrayToSpeckleConverter( + _revitConversionContextStack.Object, + _scalingServiceToSpeckle.Object, + _curveConverter.Object + ); + var array = _repository.Create(); + + array + .Setup(x => x.GetEnumerator()) + .Returns(new List { curve1.Object, curve2.Object }.GetEnumerator()); + var polycurve = sut.Convert(array.Object); + + polycurve.units.Should().Be(units); + polycurve.closed.Should().BeFalse(); + polycurve.length.Should().Be(scaleLength); + polycurve.segments.Count.Should().Be(2); + } +} diff --git a/Converters/Revit/Speckle.Converters.Revit2023.Tests/Speckle.Converters.Revit2023.Tests.csproj b/Converters/Revit/Speckle.Converters.Revit2023.Tests/Speckle.Converters.Revit2023.Tests.csproj new file mode 100644 index 000000000..606ffd308 --- /dev/null +++ b/Converters/Revit/Speckle.Converters.Revit2023.Tests/Speckle.Converters.Revit2023.Tests.csproj @@ -0,0 +1,25 @@ + + + + net8.0 + false + true + + + + + + + + + + + + + + + + + + + diff --git a/Converters/Revit/Speckle.Converters.Revit2023.Tests/XyzConversionToPointTests.cs b/Converters/Revit/Speckle.Converters.Revit2023.Tests/XyzConversionToPointTests.cs new file mode 100644 index 000000000..e710c01bf --- /dev/null +++ b/Converters/Revit/Speckle.Converters.Revit2023.Tests/XyzConversionToPointTests.cs @@ -0,0 +1,61 @@ +using FluentAssertions; +using Moq; +using NUnit.Framework; +using Speckle.Converters.Common; +using Speckle.Converters.RevitShared.Helpers; +using Speckle.Converters.RevitShared.Services; +using Speckle.Converters.RevitShared.ToSpeckle; + +namespace Speckle.Converters.Revit2023.Tests; + +public class XyzConversionToPointTests +{ + private MockRepository _repository; + + private Mock _revitConversionContextStack; + private Mock _scalingServiceToSpeckle; + + [SetUp] + public void Setup() + { + _repository = new(MockBehavior.Strict); + _revitConversionContextStack = _repository.Create(); + _scalingServiceToSpeckle = _repository.Create(); + } + + [TearDown] + public void Verify() => _repository.VerifyAll(); + + [Test] + public void Convert_Point() + { + var x = 3.1; + var y = 3.2; + var z = 3.3; + var xScaled = 4.1; + var yScaled = 4.2; + var zScaled = 4.3; + var xyz = _repository.Create(); + xyz.Setup(x => x.X).Returns(x); + xyz.Setup(x => x.Y).Returns(y); + xyz.Setup(x => x.Z).Returns(z); + + var units = "units"; + var conversionContext = _repository.Create>(); + conversionContext.Setup(x => x.SpeckleUnits).Returns(units); + + _scalingServiceToSpeckle.Setup(a => a.ScaleLength(x)).Returns(xScaled); + _scalingServiceToSpeckle.Setup(a => a.ScaleLength(y)).Returns(yScaled); + _scalingServiceToSpeckle.Setup(a => a.ScaleLength(z)).Returns(zScaled); + + _revitConversionContextStack.Setup(x => x.Current).Returns(conversionContext.Object); + + var converter = new XyzConversionToPoint(_scalingServiceToSpeckle.Object, _revitConversionContextStack.Object); + var point = converter.Convert(xyz.Object); + + point.x.Should().Be(xScaled); + point.y.Should().Be(yScaled); + point.z.Should().Be(zScaled); + point.units.Should().Be(units); + } +} diff --git a/Converters/Revit/Speckle.Converters.Revit2023.Tests/packages.lock.json b/Converters/Revit/Speckle.Converters.Revit2023.Tests/packages.lock.json new file mode 100644 index 000000000..aad14a791 --- /dev/null +++ b/Converters/Revit/Speckle.Converters.Revit2023.Tests/packages.lock.json @@ -0,0 +1,530 @@ +{ + "version": 2, + "dependencies": { + "net8.0": { + "altcover": { + "type": "Direct", + "requested": "[8.8.74, )", + "resolved": "8.8.74", + "contentHash": "e8RZNE0vZnuBk/gOAWu9K5wm3S7dOrOlZje3PHI9PJUHqvP1cxVJD1eXAAmddFVlixowB7C7/zvC16GnunC2LQ==" + }, + "FluentAssertions": { + "type": "Direct", + "requested": "[6.12.0, )", + "resolved": "6.12.0", + "contentHash": "ZXhHT2YwP9lajrwSKbLlFqsmCCvFJMoRSK9t7sImfnCyd0OB3MhgxdoMcVqxbq1iyxD6mD2fiackWmBb7ayiXQ==", + "dependencies": { + "System.Configuration.ConfigurationManager": "4.4.0" + } + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.10.0, )", + "resolved": "17.10.0", + "contentHash": "0/2HeACkaHEYU3wc83YlcD2Fi4LMtECJjqrtvw0lPi9DCEa35zSPt1j4fuvM8NagjDqJuh1Ja35WcRtn1Um6/A==", + "dependencies": { + "Microsoft.CodeCoverage": "17.10.0", + "Microsoft.TestPlatform.TestHost": "17.10.0" + } + }, + "Microsoft.SourceLink.GitHub": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "8.0.0", + "Microsoft.SourceLink.Common": "8.0.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.20.70, )", + "resolved": "4.20.70", + "contentHash": "4rNnAwdpXJBuxqrOCzCyICXHSImOTRktCgCWXWykuF1qwoIsVvEnR7PjbMk/eLOxWvhmj5Kwt+kDV3RGUYcNwg==", + "dependencies": { + "Castle.Core": "5.1.1" + } + }, + "NUnit": { + "type": "Direct", + "requested": "[4.1.0, )", + "resolved": "4.1.0", + "contentHash": "MT/DpAhjtiytzhTgTqIhBuWx4y26PKfDepYUHUM+5uv4TsryHC2jwFo5e6NhWkApCm/G6kZ80dRjdJFuAxq3rg==" + }, + "NUnit.Analyzers": { + "type": "Direct", + "requested": "[4.2.0, )", + "resolved": "4.2.0", + "contentHash": "4fJojPkzdoa4nB2+p6U+fITvPnVvwWSnsmiJ/Dl30xqiL3oxNbYvfeSLVd91hOmEjoUqSwN3Z7j1aFedjqWbUA==" + }, + "PolySharp": { + "type": "Direct", + "requested": "[1.14.1, )", + "resolved": "1.14.1", + "contentHash": "mOOmFYwad3MIOL14VCjj02LljyF1GNw1wP0YVlxtcPvqdxjGGMNdNJJxHptlry3MOd8b40Flm8RPOM8JOlN2sQ==" + }, + "Speckle.InterfaceGenerator": { + "type": "Direct", + "requested": "[0.9.5, )", + "resolved": "0.9.5", + "contentHash": "oU/L7pN1R7q8KkbrpQ3WJnHirPHqn+9DEA7asOcUiggV5dzVg1A/VYs7GOSusD24njxXh03tE3a2oTLOjt3cVg==" + }, + "Speckle.Revit2023.Fakes": { + "type": "Direct", + "requested": "[0.2.1-preview.6, 1.0.0)", + "resolved": "0.2.1-preview.6", + "contentHash": "tRU6SvyhKs/btDYfvMqyVQtt9I8Pun+vjaR6lkpmCuIi/CYFK16a/g0HoDBIySSs+F0J+olQscdpQ+nMfUU2Jg==", + "dependencies": { + "System.Drawing.Common": "8.0.6" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.1", + "contentHash": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "GraphQL.Client": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "8yPNBbuVBpTptivyAlak4GZvbwbUcjeQTL4vN1HKHRuOykZ4r7l5fcLS6vpyPyLn0x8FsL31xbOIKyxbmR9rbA==", + "dependencies": { + "GraphQL.Client.Abstractions": "6.0.0", + "GraphQL.Client.Abstractions.Websocket": "6.0.0", + "System.Reactive": "5.0.0" + } + }, + "GraphQL.Client.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "h7uzWFORHZ+CCjwr/ThAyXMr0DPpzEANDa4Uo54wqCQ+j7qUKwqYTgOrb1W40sqbvNaZm9v/X7It31SUw0maHA==", + "dependencies": { + "GraphQL.Primitives": "6.0.0" + } + }, + "GraphQL.Client.Abstractions.Websocket": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Nr9bPf8gIOvLuXpqEpqr9z9jslYFJOvd0feHth3/kPqeR3uMbjF5pjiwh4jxyMcxHdr8Pb6QiXkV3hsSyt0v7A==", + "dependencies": { + "GraphQL.Client.Abstractions": "6.0.0" + } + }, + "GraphQL.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "yg72rrYDapfsIUrul7aF6wwNnTJBOFvuA9VdDTQpPa8AlAriHbufeXYLBcodKjfUdkCnaiggX1U/nEP08Zb5GA==" + }, + "Microsoft.AspNetCore.Http": { + "type": "Transitive", + "resolved": "2.2.2", + "contentHash": "BAibpoItxI5puk7YJbIGj95arZueM8B8M5xT1fXBn3hb3L2G3ucrZcYXv1gXdaroLbntUs8qeV8iuBrpjQsrKw==", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + } + }, + "Microsoft.AspNetCore.Http.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + } + }, + "Microsoft.AspNetCore.Http.Features": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + } + }, + "Microsoft.AspNetCore.WebUtilities": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + } + }, + "Microsoft.Build.Tasks.Git": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.10.0", + "contentHash": "yC7oSlnR54XO5kOuHlVOKtxomNNN1BWXX8lK1G2jaPXT9sUok7kCOoA4Pgs0qyFaCtMrNsprztYMeoEGqCm4uA==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.Data.Sqlite": { + "type": "Transitive", + "resolved": "7.0.5", + "contentHash": "KGxbPeWsQMnmQy43DSBxAFtHz3l2JX8EWBSGUCvT3CuZ8KsuzbkqMIJMDOxWtG8eZSoCDI04aiVQjWuuV8HmSw==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "7.0.5", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.4" + } + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "7.0.5", + "contentHash": "FTerRmQPqHrCrnoUzhBu+E+1DNGwyrAMLqHkAqOOOu5pGfyMOj8qQUBxI/gDtWtG11p49UxSfWmBzRNlwZqfUg==", + "dependencies": { + "SQLitePCLRaw.core": "2.1.4" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "f9hstgjVmr6rmrfGSpfsVOl2irKAgr1QjrSi3FgnS7kulxband50f2brRLwySAQTADPZeTdow0mpSMcoAdadCw==" + }, + "Microsoft.Extensions.ObjectPool": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "UpZLNLBpIZ0GTebShui7xXYh6DmBHjWM8NxGxZbdQh/bPZ5e6YswqI+bru6BnEL5eWiOdodsXtEz3FROcgi/qg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "azyQtqbm4fSaDzZHD/J+V6oWMFaf2tWP4WEGIYePLCMw3+b2RQdj9ybgbQyjCshcitQKQ4lEDOZjmSlTTrHxUg==", + "dependencies": { + "System.Memory": "4.5.1", + "System.Runtime.CompilerServices.Unsafe": "4.5.1" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.SourceLink.Common": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.10.0", + "contentHash": "KkwhjQevuDj0aBRoPLY6OLAhGqbPUEBuKLbaCs0kUVw29qiOYncdORd4mLVJbn9vGZ7/iFGQ/+AoJl0Tu5Umdg==", + "dependencies": { + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.10.0", + "contentHash": "LWpMdfqhHvcUkeMCvNYJO8QlPLlYz9XPPb+ZbaXIKhdmjAV0wqTSrTiW5FLaf7RRZT50AQADDOYMOe0HxDxNgA==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.10.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Win32.SystemEvents": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "9opKRyOKMCi2xJ7Bj7kxtZ1r9vbzosMvRrdEhVhDz8j8MoBGgB+WmC94yH839NPH+BclAjtQ/pyagvi/8gDLkw==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "Polly.Contrib.WaitAndRetry": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "1MUQLiSo4KDkQe6nzQRhIU05lm9jlexX5BVsbuw0SL82ynZ+GzAHQxJVDPVBboxV37Po3SG077aX8DuSy8TkaA==" + }, + "Polly.Extensions.Http": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "drrG+hB3pYFY7w1c3BD+lSGYvH2oIclH8GRSehgfyP5kjnFnHKQuuBhuHLv+PWyFuaTDyk/vfRpnxOzd11+J8g==", + "dependencies": { + "Polly": "7.1.0" + } + }, + "Sentry": { + "type": "Transitive", + "resolved": "3.33.0", + "contentHash": "8vbD2o6IR2wrRrkSiRbnodWGWUOqIlwYtzpjvPNOb5raJdOf+zxMwfS8f6nx9bmrTTfDj7KrCB8C/5OuicAc8A==" + }, + "Sentry.Serilog": { + "type": "Transitive", + "resolved": "3.33.0", + "contentHash": "V8BU7QGWg2qLYfNPqtuTBhC1opysny5l+Ifp6J6PhOeAxU0FssR7nYfbJVetrnLIoh2rd3DlJ6hHYYQosQYcUQ==", + "dependencies": { + "Sentry": "3.33.0", + "Serilog": "2.10.0" + } + }, + "Serilog": { + "type": "Transitive", + "resolved": "2.12.0", + "contentHash": "xaiJLIdu6rYMKfQMYUZgTy8YK7SMZjB4Yk50C/u//Z4OsvxkUfSPJy4nknfvwAC34yr13q7kcyh4grbwhSxyZg==" + }, + "Serilog.Enrichers.ClientInfo": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "mTc7PM+wC9Hr7LWSwqt5mmnlAr7RJs+eTb3PGPRhwdOackk95MkhUZognuxXEdlW19HAFNmEBTSBY5DfLwM8jQ==", + "dependencies": { + "Microsoft.AspNetCore.Http": "2.2.2", + "Serilog": "2.9.0" + } + }, + "Serilog.Exceptions": { + "type": "Transitive", + "resolved": "8.4.0", + "contentHash": "nc/+hUw3lsdo0zCj0KMIybAu7perMx79vu72w0za9Nsi6mWyNkGXxYxakAjWB7nEmYL6zdmhEQRB4oJ2ALUeug==", + "dependencies": { + "Serilog": "2.8.0", + "System.Reflection.TypeExtensions": "4.7.0" + } + }, + "Serilog.Formatting.Compact": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "pNroKVjo+rDqlxNG5PXkRLpfSCuDOBY0ri6jp9PLe505ljqwhwZz8ospy2vWhQlFu5GkIesh3FcDs4n7sWZODA==", + "dependencies": { + "Serilog": "2.8.0" + } + }, + "Serilog.Sinks.Console": { + "type": "Transitive", + "resolved": "4.1.0", + "contentHash": "K6N5q+5fetjnJPvCmkWOpJ/V8IEIoMIB1s86OzBrbxwTyHxdx3pmz4H+8+O/Dc/ftUX12DM1aynx/dDowkwzqg==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.File": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.PeriodicBatching": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "NDWR7m3PalVlGEq3rzoktrXikjFMLmpwF0HI4sowo8YDdU+gqPlTHlDQiOGxHfB0sTfjPA9JjA7ctKG9zqjGkw==", + "dependencies": { + "Serilog": "2.0.0" + } + }, + "Serilog.Sinks.Seq": { + "type": "Transitive", + "resolved": "5.2.2", + "contentHash": "1Csmo5ua7NKUe0yXUx+zsRefjAniPWcXFhUXxXG8pwo0iMiw2gjn9SOkgYnnxbgWqmlGv236w0N/dHc2v5XwMg==", + "dependencies": { + "Serilog": "2.12.0", + "Serilog.Formatting.Compact": "1.1.0", + "Serilog.Sinks.File": "5.0.0", + "Serilog.Sinks.PeriodicBatching": "3.1.0" + } + }, + "SerilogTimings": { + "type": "Transitive", + "resolved": "3.0.1", + "contentHash": "Zs28eTgszAMwpIrbBnWHBI50yuxL50p/dmAUWmy75+axdZYK/Sjm5/5m1N/CisR8acJUhTVcjPZrsB1P5iv0Uw==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Speckle.Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.2", + "contentHash": "g1BejUZwax5PRfL6xHgLEK23sqHWOgOj9hE7RvfRRlN00AGt8GnPYt8HedSK7UB3HiRW8zCA9Pn0iiYxCK24BA==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "EWI1olKDjFEBMJu0+3wuxwziIAdWDVMYLhuZ3Qs84rrz+DHwD00RzWPZCa+bLnHCf3oJwuFZIRsHT5p236QXww==", + "dependencies": { + "SQLitePCLRaw.lib.e_sqlite3": "2.1.4", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.4" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "inBjvSHo9UDKneGNzfUfDjK08JzlcIhn1+SP5Y3m6cgXpCxXKCJDy6Mka7LpgSV+UZmKSnC8rTwB0SQ0xKu5pA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "2C9Q9eX7CPLveJA0rIhf9RXAvu+7nWZu1A2MdG6SD/NOu26TakGgL1nsbc0JAspGijFOo3HoN79xrx8a368fBg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "CSlb5dUp1FMIkez9Iv5EXzpeq7rHryVNqwJMWnpq87j9zWZexaEMdisDktMsnnrzKM6ahNrsTkjqNodTBPBxtQ==", + "dependencies": { + "SQLitePCLRaw.core": "2.1.4" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A==" + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==" + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.4.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.DoubleNumerics": { + "type": "Transitive", + "resolved": "3.1.3", + "contentHash": "KRKEM/L3KBodjA9VOg3EifFVWUY6EOqaMB05UvPEDm7Zeby/kZW+4kdWUEPzW6xtkwf46p661L9NrbeeQhtLzw==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "System.Drawing.Common": { + "type": "Transitive", + "resolved": "8.0.6", + "contentHash": "aSwRnJzz6fZ73JvWMMG0KvBwOnXsBTFtfHLriQyAPrDIZ+NrDfl15GWbO/A35k0dtH77D7jfxzEcFF7RONtU/w==", + "dependencies": { + "Microsoft.Win32.SystemEvents": "8.0.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.3", + "contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==" + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" + }, + "System.Reflection.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "VybpaOQQhqE6siHppMktjfGBw1GCwvCqiufqmP8F1nj7fTUNtW35LOEt3UZTEsECfo+ELAl/9o9nJx3U91i7vA==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Zh8t8oqolRaFa9vmOZfdQm/qKejdqz0J9kr7o2Fu0vPeoH3BL1EOXipKWwkWtLT1JPzjByrF19fGuFlNbmPpiw==" + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog==" + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "Xg4G4Indi4dqP1iuAiMSwpiWS54ZghzR644OtsRCm/m/lBMG8dUBhLVN7hLm8NNrNTR+iGbshCPTwrvxZPlm4g==" + }, + "speckle.autofac": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "[7.0.0, )" + } + }, + "speckle.converters.common": { + "type": "Project", + "dependencies": { + "Speckle.Autofac": "[1.0.0, )", + "Speckle.Objects": "[3.0.1-alpha.14, )" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "CentralTransitive", + "requested": "[7.0.0, )", + "resolved": "7.0.0", + "contentHash": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==" + }, + "Speckle.Core": { + "type": "CentralTransitive", + "requested": "[3.0.1-alpha.14, )", + "resolved": "3.0.1-alpha.14", + "contentHash": "RzQPVIGFFkKvG56YLr8ACtiwdWJE6IJ9vCQ4qHa0PIsUEpfzAIAi59jnzqtByOFC0FiFrFPow9bkfzylaZorAA==", + "dependencies": { + "GraphQL.Client": "6.0.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.Data.Sqlite": "7.0.5", + "Polly": "7.2.3", + "Polly.Contrib.WaitAndRetry": "1.1.1", + "Polly.Extensions.Http": "3.0.0", + "Sentry": "3.33.0", + "Sentry.Serilog": "3.33.0", + "Serilog": "2.12.0", + "Serilog.Enrichers.ClientInfo": "1.3.0", + "Serilog.Exceptions": "8.4.0", + "Serilog.Sinks.Console": "4.1.0", + "Serilog.Sinks.Seq": "5.2.2", + "SerilogTimings": "3.0.1", + "Speckle.Newtonsoft.Json": "13.0.2", + "System.DoubleNumerics": "3.1.3" + } + }, + "Speckle.Objects": { + "type": "CentralTransitive", + "requested": "[3.0.1-alpha.14, )", + "resolved": "3.0.1-alpha.14", + "contentHash": "z38LGryMvh7iU1uBW+4uo5DwsB3CwRgLt2uFexWFx3mPSid+A0l5XcJzOgLwgFhNl6B42Ryz4ezBsddTp1Uc/g==", + "dependencies": { + "Speckle.Core": "3.0.1-alpha.14" + } + } + } + } +} \ No newline at end of file diff --git a/Converters/Revit/Speckle.Converters.RevitShared/Helpers/DisplayValueExtractor.cs b/Converters/Revit/Speckle.Converters.RevitShared/Helpers/DisplayValueExtractor.cs index 7980fa5b0..051587cfb 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/Helpers/DisplayValueExtractor.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/Helpers/DisplayValueExtractor.cs @@ -1,4 +1,5 @@ using Microsoft.Extensions.Logging; +using Speckle.Converters.Common; using Speckle.Converters.Common.Objects; namespace Speckle.Converters.RevitShared.Helpers; @@ -267,7 +268,7 @@ bool hasSymbolGeom /// private bool IsSkippableGraphicStyle(DB.ElementId id, DB.Document doc) { - var key = id.ToString(); + var key = id.ToString().NotNull(); if (_graphicStyleCache.TryGetValue(key, out var graphicStyle)) { graphicStyle = (DB.GraphicsStyle)doc.GetElement(id); diff --git a/Converters/Revit/Speckle.Converters.RevitShared/Helpers/ParameterValueExtractor.cs b/Converters/Revit/Speckle.Converters.RevitShared/Helpers/ParameterValueExtractor.cs index cdc8e6924..904c17dcc 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/Helpers/ParameterValueExtractor.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/Helpers/ParameterValueExtractor.cs @@ -149,7 +149,7 @@ public bool TryGetValueAsDocumentObject(Element element, BuiltInParameter bui return false; } - Element paramElement = element.Document.GetElement(elementId); + Element paramElement = element.Document.GetElement(elementId.NotNull()); if (paramElement is not T typedElement) { value = default; @@ -178,7 +178,7 @@ public T GetValueAsDocumentObject(Element element, BuiltInParameter builtInPa Func getParamValue ) { - if (!_uniqueIdToUsedParameterSetMap.TryGetValue(element.UniqueId, out HashSet usedParameters)) + if (!_uniqueIdToUsedParameterSetMap.TryGetValue(element.UniqueId, out HashSet? usedParameters)) { usedParameters = new(); _uniqueIdToUsedParameterSetMap[element.UniqueId] = usedParameters; diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ReferencePointConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/ReferencePointConverter.cs index 1cf1394bb..af5d2eaa7 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ReferencePointConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ReferencePointConverter.cs @@ -1,6 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Autodesk.Revit.DB; using Speckle.Converters.RevitShared.Helpers; +using Speckle.Core.Common; namespace Speckle.Converters.RevitShared; @@ -57,8 +58,8 @@ public DB.Transform GetDocReferencePointTransform(DB.Document doc) if (!_docTransforms.TryGetValue(id, out DB.Transform? transform)) { // get from settings - var referencePointSetting = _revitSettings.TryGetSettingString("reference-point", out string value) - ? value + var referencePointSetting = _revitSettings.TryGetSettingString("reference-point", out string? value) + ? value.NotNull() : string.Empty; transform = GetReferencePointTransform(referencePointSetting); _docTransforms[id] = transform; @@ -79,8 +80,8 @@ public DB.Transform GetReferencePointTransform(string referencePointSetting) .Cast() .ToList(); - var projectPoint = points.FirstOrDefault(o => o.IsShared == false); - var surveyPoint = points.FirstOrDefault(o => o.IsShared); + var projectPoint = points.FirstOrDefault(o => o.IsShared == false).NotNull(); + var surveyPoint = points.FirstOrDefault(o => o.IsShared).NotNull(); // POC: it's not clear what support is needed for this switch (referencePointSetting) diff --git a/Converters/Revit/Speckle.Converters.RevitShared/RevitConversionSettings.cs b/Converters/Revit/Speckle.Converters.RevitShared/RevitConversionSettings.cs index 3fb446612..8b42d3cb1 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/RevitConversionSettings.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/RevitConversionSettings.cs @@ -9,7 +9,7 @@ public class RevitConversionSettings { private Dictionary Settings { get; } = new Dictionary(); - public bool TryGetSettingString(string key, out string value) => Settings.TryGetValue(key, out value); + public bool TryGetSettingString(string key, out string? value) => Settings.TryGetValue(key, out value); public string this[string key] { diff --git a/Converters/Revit/Speckle.Converters.RevitShared/Services/RevitToSpeckleUnitConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/Services/RevitToSpeckleUnitConverter.cs index e1d7a7a62..0ad7d017e 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/Services/RevitToSpeckleUnitConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/Services/RevitToSpeckleUnitConverter.cs @@ -23,7 +23,7 @@ public RevitToSpeckleUnitConverter() // POC: maybe just convert, it's not a Try method public string ConvertOrThrow(DB.ForgeTypeId hostUnit) { - if (_unitMapping.TryGetValue(hostUnit, out string value)) + if (_unitMapping.TryGetValue(hostUnit, out string? value)) { return value; } diff --git a/Converters/Revit/Speckle.Converters.RevitShared/Services/ScalingServiceToSpeckle.cs b/Converters/Revit/Speckle.Converters.RevitShared/Services/ScalingServiceToSpeckle.cs index a0c277904..d254974af 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/Services/ScalingServiceToSpeckle.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/Services/ScalingServiceToSpeckle.cs @@ -1,11 +1,13 @@ using Autodesk.Revit.DB; using Speckle.Converters.RevitShared.Helpers; +using Speckle.InterfaceGenerator; namespace Speckle.Converters.RevitShared.Services; // POC: feels like this is a context thing and we should be calculating this occasionally? // needs some thought as to how it could be be done, could leave as is for now -public sealed class ScalingServiceToSpeckle +[GenerateAutoInterface] +public sealed class ScalingServiceToSpeckle : IScalingServiceToSpeckle { private readonly double _defaultLengthConversionFactor; diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToHost/Raw/Geometry/ICurveConverterToHost.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToHost/Raw/Geometry/ICurveConverterToHost.cs index 2b3eedcb1..327a0ec8d 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToHost/Raw/Geometry/ICurveConverterToHost.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToHost/Raw/Geometry/ICurveConverterToHost.cs @@ -89,10 +89,9 @@ public DB.CurveArray Convert(ICurve target) { // Enumerate all curves in the array to ensure polylines get fully converted. using var subCurves = Convert(seg); - var crvEnumerator = subCurves.GetEnumerator(); - while (crvEnumerator.MoveNext() && crvEnumerator.Current != null) + foreach (DB.Curve curve in subCurves) { - curveArray.Append(crvEnumerator.Current as DB.Curve); + curveArray.Append(curve); } } return curveArray; diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToHost/TopLevel/LevelToHostTopLevelConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToHost/TopLevel/LevelToHostTopLevelConverter.cs index 69f72e4f1..098f3a2d1 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToHost/TopLevel/LevelToHostTopLevelConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToHost/TopLevel/LevelToHostTopLevelConverter.cs @@ -59,7 +59,7 @@ public override DB.Level Convert(SOBE.Level target) private static DB.Level GetExistingLevelByElevation(IEnumerable docLevels, double elevation) { - return docLevels.FirstOrDefault(l => Math.Abs(l.Elevation - elevation) < RevitConversionContextStack.TOLERANCE); + return docLevels.First(l => Math.Abs(l.Elevation - elevation) < RevitConversionContextStack.TOLERANCE); } private DB.ViewPlan CreateViewPlan(string name, DB.ElementId levelId) diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/ArcToSpeckleConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/ArcToSpeckleConverter.cs index d6774a710..b2c243eca 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/ArcToSpeckleConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/ArcToSpeckleConverter.cs @@ -31,8 +31,8 @@ public SOG.Arc Convert(DB.Arc target) var arcPlane = DB.Plane.CreateByOriginAndBasis(target.Center, target.XDirection, target.YDirection); DB.XYZ center = target.Center; - DB.XYZ dir0 = (target.GetEndPoint(0) - center).Normalize(); - DB.XYZ dir1 = (target.GetEndPoint(1) - center).Normalize(); + DB.XYZ dir0 = (target.GetEndPoint(0).Subtract(center)).Normalize(); + DB.XYZ dir1 = (target.GetEndPoint(1).Subtract(center)).Normalize(); DB.XYZ start = target.Evaluate(0, true); DB.XYZ end = target.Evaluate(1, true); diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/PointCloudToSpeckleConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/PointCloudToSpeckleConverter.cs index ab86301cd..c07fe462f 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/PointCloudToSpeckleConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/PointCloudToSpeckleConverter.cs @@ -22,7 +22,7 @@ public PointCloudToSpeckleConverter( public SOG.Pointcloud Convert(DB.PointCloudInstance target) { - var boundingBox = target.get_BoundingBox(null); + var boundingBox = target.get_BoundingBox(null!); using DB.Transform transform = target.GetTransform(); { var minPlane = DB.Plane.CreateByNormalAndOrigin(DB.XYZ.BasisZ, transform.OfPoint(boundingBox.Min)); diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/XyzConversionToPoint.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/XyzConversionToPoint.cs index bf250d06c..012b96b53 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/XyzConversionToPoint.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/Geometry/XyzConversionToPoint.cs @@ -6,11 +6,11 @@ namespace Speckle.Converters.RevitShared.ToSpeckle; public class XyzConversionToPoint : ITypedConverter { - private readonly ScalingServiceToSpeckle _toSpeckleScalingService; + private readonly IScalingServiceToSpeckle _toSpeckleScalingService; private readonly IRevitConversionContextStack _contextStack; public XyzConversionToPoint( - ScalingServiceToSpeckle toSpeckleScalingService, + IScalingServiceToSpeckle toSpeckleScalingService, IRevitConversionContextStack contextStack ) { diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/ModelCurveArrayToSpeckleConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/ModelCurveArrayToSpeckleConverter.cs index 5bfd4d11b..8ab9183f6 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/ModelCurveArrayToSpeckleConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/Raw/ModelCurveArrayToSpeckleConverter.cs @@ -9,12 +9,12 @@ namespace Speckle.Converters.RevitShared.Raw; internal sealed class ModelCurveArrayToSpeckleConverter : ITypedConverter { private readonly IRevitConversionContextStack _contextStack; - private readonly ScalingServiceToSpeckle _scalingService; + private readonly IScalingServiceToSpeckle _scalingService; private readonly ITypedConverter _curveConverter; public ModelCurveArrayToSpeckleConverter( IRevitConversionContextStack contextStack, - ScalingServiceToSpeckle scalingService, + IScalingServiceToSpeckle scalingService, ITypedConverter curveConverter ) { diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/DirectShapeTopLevelConverterToSpeckle.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/DirectShapeTopLevelConverterToSpeckle.cs index c9c9ca5e1..27d340b7b 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/DirectShapeTopLevelConverterToSpeckle.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/DirectShapeTopLevelConverterToSpeckle.cs @@ -36,7 +36,7 @@ public override SOBR.DirectShape Convert(DB.DirectShape target) { displayValue = geometries, units = _contextStack.Current.SpeckleUnits, - elementId = target.Id.ToString() + elementId = target.Id.ToString().NotNull() }; _parameterObjectAssigner.AssignParametersToBase(target, result); diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/FootPrintRoofToSpeckleTopLevelConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/FootPrintRoofToSpeckleTopLevelConverter.cs index 1c8e74bb0..ada34b1bd 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/FootPrintRoofToSpeckleTopLevelConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/FootPrintRoofToSpeckleTopLevelConverter.cs @@ -69,7 +69,7 @@ out var topLevel // POC: CNX-9403 in current connector, we are doing serious gymnastics to get the slope of the floor as defined by // slope arrow. The way we are doing it relies on dynamic props and only works for Revit <-> Revit var profiles = _modelCurveArrArrayConverter.Convert(target.GetProfiles()); - speckleFootprintRoof.outline = profiles.FirstOrDefault(); + speckleFootprintRoof.outline = profiles.FirstOrDefault().NotNull(); speckleFootprintRoof.voids = profiles.Skip(1).ToList(); var elementType = (ElementType)target.Document.GetElement(target.GetTypeId()); diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/ModelCurveToSpeckleTopLevelConverter.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/ModelCurveToSpeckleTopLevelConverter.cs index 240cbe471..817df5e77 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/ModelCurveToSpeckleTopLevelConverter.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/ModelCurveToSpeckleTopLevelConverter.cs @@ -28,7 +28,7 @@ public override SOBR.Curve.ModelCurve Convert(DB.ModelCurve target) { baseCurve = _curveConverter.Convert(target.GeometryCurve), lineStyle = target.LineStyle.Name, - elementId = target.Id.ToString(), + elementId = target.Id.ToString().NotNull(), units = _conversionContext.Current.SpeckleUnits }; diff --git a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/TopographyTopLevelConverterToSpeckle.cs b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/TopographyTopLevelConverterToSpeckle.cs index eea4ea51c..f63a1a446 100644 --- a/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/TopographyTopLevelConverterToSpeckle.cs +++ b/Converters/Revit/Speckle.Converters.RevitShared/ToSpeckle/TopLevel/TopographyTopLevelConverterToSpeckle.cs @@ -26,7 +26,7 @@ public override SOBR.RevitTopography Convert(DBA.TopographySurface target) var speckleTopo = new SOBR.RevitTopography { displayValue = _displayValueExtractor.GetDisplayValue(target), - elementId = target.Id.ToString() + elementId = target.Id.ToString().NotNull() }; // POC: shouldn't we just do this in the RevitConverter ? diff --git a/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/Speckle.Converters.Rhino7.DependencyInjection.csproj b/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/Speckle.Converters.Rhino7.DependencyInjection.csproj index f92549ccd..26366bf2b 100644 --- a/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/Speckle.Converters.Rhino7.DependencyInjection.csproj +++ b/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/Speckle.Converters.Rhino7.DependencyInjection.csproj @@ -7,10 +7,6 @@ - - - - - + diff --git a/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/packages.lock.json b/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/packages.lock.json index 8094f1446..46797a010 100644 --- a/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/packages.lock.json +++ b/Converters/Rhino/Speckle.Converters.Rhino7.DependencyInjection/packages.lock.json @@ -18,12 +18,6 @@ "resolved": "1.14.1", "contentHash": "mOOmFYwad3MIOL14VCjj02LljyF1GNw1wP0YVlxtcPvqdxjGGMNdNJJxHptlry3MOd8b40Flm8RPOM8JOlN2sQ==" }, - "RhinoCommon": { - "type": "Direct", - "requested": "[7.13.21348.13001, )", - "resolved": "7.13.21348.13001", - "contentHash": "JQdaNw61ddBqIe08E9O4N/grwrN1hjDHcYW7tWylwCZyFR7SepoCD4NS+6LN6+oSQhNbhLi9Bf+hQOFYFdRAEA==" - }, "Speckle.InterfaceGenerator": { "type": "Direct", "requested": "[0.9.5, )", @@ -391,6 +385,12 @@ "System.Memory": "4.5.5" } }, + "RhinoCommon": { + "type": "CentralTransitive", + "requested": "[7.13.21348.13001, )", + "resolved": "7.13.21348.13001", + "contentHash": "JQdaNw61ddBqIe08E9O4N/grwrN1hjDHcYW7tWylwCZyFR7SepoCD4NS+6LN6+oSQhNbhLi9Bf+hQOFYFdRAEA==" + }, "Speckle.Core": { "type": "CentralTransitive", "requested": "[3.0.1-alpha.14, )", diff --git a/Converters/Rhino/Speckle.Converters.Rhino7.Tests/EllipseToSpeckleConverterTests.cs b/Converters/Rhino/Speckle.Converters.Rhino7.Tests/EllipseToSpeckleConverterTests.cs new file mode 100644 index 000000000..b61be644f --- /dev/null +++ b/Converters/Rhino/Speckle.Converters.Rhino7.Tests/EllipseToSpeckleConverterTests.cs @@ -0,0 +1,29 @@ +using Moq; +using NUnit.Framework; +using Rhino; +using Speckle.Converters.Common; +using Speckle.Converters.Common.Objects; + +namespace Speckle.Converters.Rhino7.Tests; + +public class EllipseToSpeckleConverterTests +{ + private MockRepository _repository; + + private Mock> _conversionContextStack; + + private Mock> _planeConverter; + private Mock> _boxConverter; + + [SetUp] + public void Setup() + { + _repository = new(MockBehavior.Strict); + _conversionContextStack = _repository.Create>(); + _planeConverter = _repository.Create>(); + _boxConverter = _repository.Create>(); + } + + [TearDown] + public void Verify() => _repository.VerifyAll(); +} diff --git a/Converters/Rhino/Speckle.Converters.Rhino7.Tests/Speckle.Converters.Rhino7.Tests.csproj b/Converters/Rhino/Speckle.Converters.Rhino7.Tests/Speckle.Converters.Rhino7.Tests.csproj new file mode 100644 index 000000000..7e6bc1996 --- /dev/null +++ b/Converters/Rhino/Speckle.Converters.Rhino7.Tests/Speckle.Converters.Rhino7.Tests.csproj @@ -0,0 +1,25 @@ + + + + net8.0 + false + true + + + + + + + + + + + + + + + + + + + diff --git a/Converters/Rhino/Speckle.Converters.Rhino7.Tests/packages.lock.json b/Converters/Rhino/Speckle.Converters.Rhino7.Tests/packages.lock.json new file mode 100644 index 000000000..767275e9b --- /dev/null +++ b/Converters/Rhino/Speckle.Converters.Rhino7.Tests/packages.lock.json @@ -0,0 +1,530 @@ +{ + "version": 2, + "dependencies": { + "net8.0": { + "altcover": { + "type": "Direct", + "requested": "[8.8.74, )", + "resolved": "8.8.74", + "contentHash": "e8RZNE0vZnuBk/gOAWu9K5wm3S7dOrOlZje3PHI9PJUHqvP1cxVJD1eXAAmddFVlixowB7C7/zvC16GnunC2LQ==" + }, + "FluentAssertions": { + "type": "Direct", + "requested": "[6.12.0, )", + "resolved": "6.12.0", + "contentHash": "ZXhHT2YwP9lajrwSKbLlFqsmCCvFJMoRSK9t7sImfnCyd0OB3MhgxdoMcVqxbq1iyxD6mD2fiackWmBb7ayiXQ==", + "dependencies": { + "System.Configuration.ConfigurationManager": "4.4.0" + } + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.10.0, )", + "resolved": "17.10.0", + "contentHash": "0/2HeACkaHEYU3wc83YlcD2Fi4LMtECJjqrtvw0lPi9DCEa35zSPt1j4fuvM8NagjDqJuh1Ja35WcRtn1Um6/A==", + "dependencies": { + "Microsoft.CodeCoverage": "17.10.0", + "Microsoft.TestPlatform.TestHost": "17.10.0" + } + }, + "Microsoft.SourceLink.GitHub": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "8.0.0", + "Microsoft.SourceLink.Common": "8.0.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.20.70, )", + "resolved": "4.20.70", + "contentHash": "4rNnAwdpXJBuxqrOCzCyICXHSImOTRktCgCWXWykuF1qwoIsVvEnR7PjbMk/eLOxWvhmj5Kwt+kDV3RGUYcNwg==", + "dependencies": { + "Castle.Core": "5.1.1" + } + }, + "NUnit": { + "type": "Direct", + "requested": "[4.1.0, )", + "resolved": "4.1.0", + "contentHash": "MT/DpAhjtiytzhTgTqIhBuWx4y26PKfDepYUHUM+5uv4TsryHC2jwFo5e6NhWkApCm/G6kZ80dRjdJFuAxq3rg==" + }, + "NUnit.Analyzers": { + "type": "Direct", + "requested": "[4.2.0, )", + "resolved": "4.2.0", + "contentHash": "4fJojPkzdoa4nB2+p6U+fITvPnVvwWSnsmiJ/Dl30xqiL3oxNbYvfeSLVd91hOmEjoUqSwN3Z7j1aFedjqWbUA==" + }, + "PolySharp": { + "type": "Direct", + "requested": "[1.14.1, )", + "resolved": "1.14.1", + "contentHash": "mOOmFYwad3MIOL14VCjj02LljyF1GNw1wP0YVlxtcPvqdxjGGMNdNJJxHptlry3MOd8b40Flm8RPOM8JOlN2sQ==" + }, + "Speckle.InterfaceGenerator": { + "type": "Direct", + "requested": "[0.9.5, )", + "resolved": "0.9.5", + "contentHash": "oU/L7pN1R7q8KkbrpQ3WJnHirPHqn+9DEA7asOcUiggV5dzVg1A/VYs7GOSusD24njxXh03tE3a2oTLOjt3cVg==" + }, + "Speckle.Rhino7.Fakes": { + "type": "Direct", + "requested": "[0.2.1-preview.6, )", + "resolved": "0.2.1-preview.6", + "contentHash": "2sbblditOPe+xuqRXLIWYHMS77tKjo8fscfKK7nlAZaUbAJGCKmH0B0MLHPwkBlTAfaNZCyiWwoEoaaa27jZbA==", + "dependencies": { + "System.Drawing.Common": "8.0.6" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.1", + "contentHash": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "GraphQL.Client": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "8yPNBbuVBpTptivyAlak4GZvbwbUcjeQTL4vN1HKHRuOykZ4r7l5fcLS6vpyPyLn0x8FsL31xbOIKyxbmR9rbA==", + "dependencies": { + "GraphQL.Client.Abstractions": "6.0.0", + "GraphQL.Client.Abstractions.Websocket": "6.0.0", + "System.Reactive": "5.0.0" + } + }, + "GraphQL.Client.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "h7uzWFORHZ+CCjwr/ThAyXMr0DPpzEANDa4Uo54wqCQ+j7qUKwqYTgOrb1W40sqbvNaZm9v/X7It31SUw0maHA==", + "dependencies": { + "GraphQL.Primitives": "6.0.0" + } + }, + "GraphQL.Client.Abstractions.Websocket": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Nr9bPf8gIOvLuXpqEpqr9z9jslYFJOvd0feHth3/kPqeR3uMbjF5pjiwh4jxyMcxHdr8Pb6QiXkV3hsSyt0v7A==", + "dependencies": { + "GraphQL.Client.Abstractions": "6.0.0" + } + }, + "GraphQL.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "yg72rrYDapfsIUrul7aF6wwNnTJBOFvuA9VdDTQpPa8AlAriHbufeXYLBcodKjfUdkCnaiggX1U/nEP08Zb5GA==" + }, + "Microsoft.AspNetCore.Http": { + "type": "Transitive", + "resolved": "2.2.2", + "contentHash": "BAibpoItxI5puk7YJbIGj95arZueM8B8M5xT1fXBn3hb3L2G3ucrZcYXv1gXdaroLbntUs8qeV8iuBrpjQsrKw==", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + } + }, + "Microsoft.AspNetCore.Http.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + } + }, + "Microsoft.AspNetCore.Http.Features": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + } + }, + "Microsoft.AspNetCore.WebUtilities": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + } + }, + "Microsoft.Build.Tasks.Git": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.10.0", + "contentHash": "yC7oSlnR54XO5kOuHlVOKtxomNNN1BWXX8lK1G2jaPXT9sUok7kCOoA4Pgs0qyFaCtMrNsprztYMeoEGqCm4uA==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.Data.Sqlite": { + "type": "Transitive", + "resolved": "7.0.5", + "contentHash": "KGxbPeWsQMnmQy43DSBxAFtHz3l2JX8EWBSGUCvT3CuZ8KsuzbkqMIJMDOxWtG8eZSoCDI04aiVQjWuuV8HmSw==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "7.0.5", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.4" + } + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "7.0.5", + "contentHash": "FTerRmQPqHrCrnoUzhBu+E+1DNGwyrAMLqHkAqOOOu5pGfyMOj8qQUBxI/gDtWtG11p49UxSfWmBzRNlwZqfUg==", + "dependencies": { + "SQLitePCLRaw.core": "2.1.4" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "f9hstgjVmr6rmrfGSpfsVOl2irKAgr1QjrSi3FgnS7kulxband50f2brRLwySAQTADPZeTdow0mpSMcoAdadCw==" + }, + "Microsoft.Extensions.ObjectPool": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "UpZLNLBpIZ0GTebShui7xXYh6DmBHjWM8NxGxZbdQh/bPZ5e6YswqI+bru6BnEL5eWiOdodsXtEz3FROcgi/qg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "azyQtqbm4fSaDzZHD/J+V6oWMFaf2tWP4WEGIYePLCMw3+b2RQdj9ybgbQyjCshcitQKQ4lEDOZjmSlTTrHxUg==", + "dependencies": { + "System.Memory": "4.5.1", + "System.Runtime.CompilerServices.Unsafe": "4.5.1" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "iZNkjYqlo8sIOI0bQfpsSoMTmB/kyvmV2h225ihyZT33aTp48ZpF6qYnXxzSXmHt8DpBAwBTX+1s1UFLbYfZKg==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.SourceLink.Common": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.10.0", + "contentHash": "KkwhjQevuDj0aBRoPLY6OLAhGqbPUEBuKLbaCs0kUVw29qiOYncdORd4mLVJbn9vGZ7/iFGQ/+AoJl0Tu5Umdg==", + "dependencies": { + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.10.0", + "contentHash": "LWpMdfqhHvcUkeMCvNYJO8QlPLlYz9XPPb+ZbaXIKhdmjAV0wqTSrTiW5FLaf7RRZT50AQADDOYMOe0HxDxNgA==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.10.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Win32.SystemEvents": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "9opKRyOKMCi2xJ7Bj7kxtZ1r9vbzosMvRrdEhVhDz8j8MoBGgB+WmC94yH839NPH+BclAjtQ/pyagvi/8gDLkw==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "Polly.Contrib.WaitAndRetry": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "1MUQLiSo4KDkQe6nzQRhIU05lm9jlexX5BVsbuw0SL82ynZ+GzAHQxJVDPVBboxV37Po3SG077aX8DuSy8TkaA==" + }, + "Polly.Extensions.Http": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "drrG+hB3pYFY7w1c3BD+lSGYvH2oIclH8GRSehgfyP5kjnFnHKQuuBhuHLv+PWyFuaTDyk/vfRpnxOzd11+J8g==", + "dependencies": { + "Polly": "7.1.0" + } + }, + "Sentry": { + "type": "Transitive", + "resolved": "3.33.0", + "contentHash": "8vbD2o6IR2wrRrkSiRbnodWGWUOqIlwYtzpjvPNOb5raJdOf+zxMwfS8f6nx9bmrTTfDj7KrCB8C/5OuicAc8A==" + }, + "Sentry.Serilog": { + "type": "Transitive", + "resolved": "3.33.0", + "contentHash": "V8BU7QGWg2qLYfNPqtuTBhC1opysny5l+Ifp6J6PhOeAxU0FssR7nYfbJVetrnLIoh2rd3DlJ6hHYYQosQYcUQ==", + "dependencies": { + "Sentry": "3.33.0", + "Serilog": "2.10.0" + } + }, + "Serilog": { + "type": "Transitive", + "resolved": "2.12.0", + "contentHash": "xaiJLIdu6rYMKfQMYUZgTy8YK7SMZjB4Yk50C/u//Z4OsvxkUfSPJy4nknfvwAC34yr13q7kcyh4grbwhSxyZg==" + }, + "Serilog.Enrichers.ClientInfo": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "mTc7PM+wC9Hr7LWSwqt5mmnlAr7RJs+eTb3PGPRhwdOackk95MkhUZognuxXEdlW19HAFNmEBTSBY5DfLwM8jQ==", + "dependencies": { + "Microsoft.AspNetCore.Http": "2.2.2", + "Serilog": "2.9.0" + } + }, + "Serilog.Exceptions": { + "type": "Transitive", + "resolved": "8.4.0", + "contentHash": "nc/+hUw3lsdo0zCj0KMIybAu7perMx79vu72w0za9Nsi6mWyNkGXxYxakAjWB7nEmYL6zdmhEQRB4oJ2ALUeug==", + "dependencies": { + "Serilog": "2.8.0", + "System.Reflection.TypeExtensions": "4.7.0" + } + }, + "Serilog.Formatting.Compact": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "pNroKVjo+rDqlxNG5PXkRLpfSCuDOBY0ri6jp9PLe505ljqwhwZz8ospy2vWhQlFu5GkIesh3FcDs4n7sWZODA==", + "dependencies": { + "Serilog": "2.8.0" + } + }, + "Serilog.Sinks.Console": { + "type": "Transitive", + "resolved": "4.1.0", + "contentHash": "K6N5q+5fetjnJPvCmkWOpJ/V8IEIoMIB1s86OzBrbxwTyHxdx3pmz4H+8+O/Dc/ftUX12DM1aynx/dDowkwzqg==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.File": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.PeriodicBatching": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "NDWR7m3PalVlGEq3rzoktrXikjFMLmpwF0HI4sowo8YDdU+gqPlTHlDQiOGxHfB0sTfjPA9JjA7ctKG9zqjGkw==", + "dependencies": { + "Serilog": "2.0.0" + } + }, + "Serilog.Sinks.Seq": { + "type": "Transitive", + "resolved": "5.2.2", + "contentHash": "1Csmo5ua7NKUe0yXUx+zsRefjAniPWcXFhUXxXG8pwo0iMiw2gjn9SOkgYnnxbgWqmlGv236w0N/dHc2v5XwMg==", + "dependencies": { + "Serilog": "2.12.0", + "Serilog.Formatting.Compact": "1.1.0", + "Serilog.Sinks.File": "5.0.0", + "Serilog.Sinks.PeriodicBatching": "3.1.0" + } + }, + "SerilogTimings": { + "type": "Transitive", + "resolved": "3.0.1", + "contentHash": "Zs28eTgszAMwpIrbBnWHBI50yuxL50p/dmAUWmy75+axdZYK/Sjm5/5m1N/CisR8acJUhTVcjPZrsB1P5iv0Uw==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Speckle.Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.2", + "contentHash": "g1BejUZwax5PRfL6xHgLEK23sqHWOgOj9hE7RvfRRlN00AGt8GnPYt8HedSK7UB3HiRW8zCA9Pn0iiYxCK24BA==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "EWI1olKDjFEBMJu0+3wuxwziIAdWDVMYLhuZ3Qs84rrz+DHwD00RzWPZCa+bLnHCf3oJwuFZIRsHT5p236QXww==", + "dependencies": { + "SQLitePCLRaw.lib.e_sqlite3": "2.1.4", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.4" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "inBjvSHo9UDKneGNzfUfDjK08JzlcIhn1+SP5Y3m6cgXpCxXKCJDy6Mka7LpgSV+UZmKSnC8rTwB0SQ0xKu5pA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "2C9Q9eX7CPLveJA0rIhf9RXAvu+7nWZu1A2MdG6SD/NOu26TakGgL1nsbc0JAspGijFOo3HoN79xrx8a368fBg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.1.4", + "contentHash": "CSlb5dUp1FMIkez9Iv5EXzpeq7rHryVNqwJMWnpq87j9zWZexaEMdisDktMsnnrzKM6ahNrsTkjqNodTBPBxtQ==", + "dependencies": { + "SQLitePCLRaw.core": "2.1.4" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A==" + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==" + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.4.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.DoubleNumerics": { + "type": "Transitive", + "resolved": "3.1.3", + "contentHash": "KRKEM/L3KBodjA9VOg3EifFVWUY6EOqaMB05UvPEDm7Zeby/kZW+4kdWUEPzW6xtkwf46p661L9NrbeeQhtLzw==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "System.Drawing.Common": { + "type": "Transitive", + "resolved": "8.0.6", + "contentHash": "aSwRnJzz6fZ73JvWMMG0KvBwOnXsBTFtfHLriQyAPrDIZ+NrDfl15GWbO/A35k0dtH77D7jfxzEcFF7RONtU/w==", + "dependencies": { + "Microsoft.Win32.SystemEvents": "8.0.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.3", + "contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==" + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" + }, + "System.Reflection.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "VybpaOQQhqE6siHppMktjfGBw1GCwvCqiufqmP8F1nj7fTUNtW35LOEt3UZTEsECfo+ELAl/9o9nJx3U91i7vA==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Zh8t8oqolRaFa9vmOZfdQm/qKejdqz0J9kr7o2Fu0vPeoH3BL1EOXipKWwkWtLT1JPzjByrF19fGuFlNbmPpiw==" + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog==" + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "Xg4G4Indi4dqP1iuAiMSwpiWS54ZghzR644OtsRCm/m/lBMG8dUBhLVN7hLm8NNrNTR+iGbshCPTwrvxZPlm4g==" + }, + "speckle.autofac": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "[7.0.0, )" + } + }, + "speckle.converters.common": { + "type": "Project", + "dependencies": { + "Speckle.Autofac": "[1.0.0, )", + "Speckle.Objects": "[3.0.1-alpha.14, )" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "CentralTransitive", + "requested": "[7.0.0, )", + "resolved": "7.0.0", + "contentHash": "kmn78+LPVMOWeITUjIlfxUPDsI0R6G0RkeAMBmQxAJ7vBJn4q2dTva7pWi65ceN5vPGjJ9q/Uae2WKgvfktJAw==" + }, + "Speckle.Core": { + "type": "CentralTransitive", + "requested": "[3.0.1-alpha.14, )", + "resolved": "3.0.1-alpha.14", + "contentHash": "RzQPVIGFFkKvG56YLr8ACtiwdWJE6IJ9vCQ4qHa0PIsUEpfzAIAi59jnzqtByOFC0FiFrFPow9bkfzylaZorAA==", + "dependencies": { + "GraphQL.Client": "6.0.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.Data.Sqlite": "7.0.5", + "Polly": "7.2.3", + "Polly.Contrib.WaitAndRetry": "1.1.1", + "Polly.Extensions.Http": "3.0.0", + "Sentry": "3.33.0", + "Sentry.Serilog": "3.33.0", + "Serilog": "2.12.0", + "Serilog.Enrichers.ClientInfo": "1.3.0", + "Serilog.Exceptions": "8.4.0", + "Serilog.Sinks.Console": "4.1.0", + "Serilog.Sinks.Seq": "5.2.2", + "SerilogTimings": "3.0.1", + "Speckle.Newtonsoft.Json": "13.0.2", + "System.DoubleNumerics": "3.1.3" + } + }, + "Speckle.Objects": { + "type": "CentralTransitive", + "requested": "[3.0.1-alpha.14, )", + "resolved": "3.0.1-alpha.14", + "contentHash": "z38LGryMvh7iU1uBW+4uo5DwsB3CwRgLt2uFexWFx3mPSid+A0l5XcJzOgLwgFhNl6B42Ryz4ezBsddTp1Uc/g==", + "dependencies": { + "Speckle.Core": "3.0.1-alpha.14" + } + } + } + } +} \ No newline at end of file diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/Speckle.Converters.Rhino7.csproj b/Converters/Rhino/Speckle.Converters.Rhino7/Speckle.Converters.Rhino7.csproj index 19094744c..f3b4a8545 100644 --- a/Converters/Rhino/Speckle.Converters.Rhino7/Speckle.Converters.Rhino7.csproj +++ b/Converters/Rhino/Speckle.Converters.Rhino7/Speckle.Converters.Rhino7.csproj @@ -3,6 +3,8 @@ net48 + + diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/GlobalUsings.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/GlobalUsings.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/GlobalUsings.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/GlobalUsings.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/RhinoConversionContextStack.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/RhinoConversionContextStack.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/RhinoConversionContextStack.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/RhinoConversionContextStack.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/RhinoToSpeckleUnitConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/RhinoToSpeckleUnitConverter.cs similarity index 94% rename from Converters/Rhino/Speckle.Converters.Rhino7/RhinoToSpeckleUnitConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/RhinoToSpeckleUnitConverter.cs index 4f4f9c77e..2766a0961 100644 --- a/Converters/Rhino/Speckle.Converters.Rhino7/RhinoToSpeckleUnitConverter.cs +++ b/Converters/Rhino/Speckle.Converters.RhinoShared/RhinoToSpeckleUnitConverter.cs @@ -25,7 +25,7 @@ public RhinoToSpeckleUnitConverter() public string ConvertOrThrow(UnitSystem hostUnit) { - if (_unitMapping.TryGetValue(hostUnit, out string value)) + if (_unitMapping.TryGetValue(hostUnit, out string? value)) { return value; } diff --git a/Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.projitems b/Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.projitems new file mode 100644 index 000000000..d3840250a --- /dev/null +++ b/Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.projitems @@ -0,0 +1,14 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + 9655be78-8070-4b9f-b0dc-68bb6250b52c + + + Speckle.Converters.RhinoShared + + + + + \ No newline at end of file diff --git a/Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.shproj b/Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.shproj new file mode 100644 index 000000000..0d5220060 --- /dev/null +++ b/Converters/Rhino/Speckle.Converters.RhinoShared/Speckle.Converters.RhinoShared.shproj @@ -0,0 +1,13 @@ + + + + {E1C43415-3200-45F4-8BF9-A4DD7D7F2ED9} + 14.0 + + + + + + + + \ No newline at end of file diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/SpeckleToHostGeometryBaseTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/SpeckleToHostGeometryBaseTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/SpeckleToHostGeometryBaseTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/SpeckleToHostGeometryBaseTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/ArcToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/ArcToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/ArcToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/ArcToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/BrepToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/BrepToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/BrepToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/BrepToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/CircleToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/CircleToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/CircleToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/CircleToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/CurveToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/CurveToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/CurveToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/CurveToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/EllipseToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/EllipseToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/EllipseToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/EllipseToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/FlatPointListToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/FlatPointListToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/FlatPointListToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/FlatPointListToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/IntervalToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/IntervalToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/IntervalToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/IntervalToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/LineToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/LineToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/LineToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/LineToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/MeshToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/MeshToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/MeshToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/MeshToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/NurbsCurveToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/NurbsCurveToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/NurbsCurveToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/NurbsCurveToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PlaneToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PlaneToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PlaneToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PlaneToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PointCloudToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PointCloudToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PointCloudToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PointCloudToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PointToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PointToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PointToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PointToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PolyCurveToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PolyCurveToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PolyCurveToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PolyCurveToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PolylineToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PolylineToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/PolylineToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/PolylineToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/SpiralToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/SpiralToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/SpiralToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/SpiralToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/SurfaceToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/SurfaceToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/SurfaceToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/SurfaceToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/VectorToHostConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/VectorToHostConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/Raw/VectorToHostConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/Raw/VectorToHostConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/ArcToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/ArcToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/ArcToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/ArcToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/BrepToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/BrepToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/BrepToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/BrepToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/CircleToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/CircleToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/CircleToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/CircleToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/EllipseToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/EllipseToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/EllipseToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/EllipseToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/FallbackToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/FallbackToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/FallbackToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/FallbackToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/LineToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/LineToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/LineToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/LineToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/MeshToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/MeshToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/MeshToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/MeshToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/NurbsCurveToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/NurbsCurveToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/NurbsCurveToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/NurbsCurveToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PointCloudToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PointCloudToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PointCloudToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PointCloudToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PointToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PointToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PointToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PointToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PolycurveToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PolycurveToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PolycurveToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PolycurveToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PolylineToHostTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PolylineToHostTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToHost/TopLevel/PolylineToHostTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToHost/TopLevel/PolylineToHostTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/ArcCurveToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/ArcCurveToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/ArcCurveToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/ArcCurveToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/ArcToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/ArcToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/ArcToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/ArcToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/BoxToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/BoxToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/BoxToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/BoxToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/BrepToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/BrepToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/BrepToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/BrepToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/CircleToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/CircleToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/CircleToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/CircleToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/ControlPointToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/ControlPointToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/ControlPointToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/ControlPointToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/CurveToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/CurveToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/CurveToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/CurveToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/EllipseToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/EllipseToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/EllipseToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/EllipseToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/IntervalToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/IntervalToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/IntervalToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/IntervalToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/LineToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/LineToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/LineToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/LineToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/MeshToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/MeshToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/MeshToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/MeshToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/NurbsCurveConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/NurbsCurveConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/NurbsCurveConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/NurbsCurveConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/NurbsSurfaceToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/NurbsSurfaceToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/NurbsSurfaceToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/NurbsSurfaceToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PlaneToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PlaneToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PlaneToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PlaneToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PointToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PointToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PointToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PointToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PolyCurveToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PolyCurveToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PolyCurveToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PolyCurveToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PolylineToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PolylineToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/PolylineToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/PolylineToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/RawPointCloudToSpeckle.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/RawPointCloudToSpeckle.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/RawPointCloudToSpeckle.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/RawPointCloudToSpeckle.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/VectorToSpeckleConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/VectorToSpeckleConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/Raw/VectorToSpeckleConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/Raw/VectorToSpeckleConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/BrepObjectToSpeckleTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/BrepObjectToSpeckleTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/BrepObjectToSpeckleTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/BrepObjectToSpeckleTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/CurveObjectToSpeckleTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/CurveObjectToSpeckleTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/CurveObjectToSpeckleTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/CurveObjectToSpeckleTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/ExtrusionObjectToSpeckleTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/ExtrusionObjectToSpeckleTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/ExtrusionObjectToSpeckleTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/ExtrusionObjectToSpeckleTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/MeshObjectToSpeckleTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/MeshObjectToSpeckleTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/MeshObjectToSpeckleTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/MeshObjectToSpeckleTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/PointCloudObjectToSpeckleTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/PointCloudObjectToSpeckleTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/PointCloudObjectToSpeckleTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/PointCloudObjectToSpeckleTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/PointObjectToSpeckleTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/PointObjectToSpeckleTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/PointObjectToSpeckleTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/PointObjectToSpeckleTopLevelConverter.cs diff --git a/Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/RhinoObjectToSpeckleTopLevelConverter.cs b/Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/RhinoObjectToSpeckleTopLevelConverter.cs similarity index 100% rename from Converters/Rhino/Speckle.Converters.Rhino7/ToSpeckle/TopLevel/RhinoObjectToSpeckleTopLevelConverter.cs rename to Converters/Rhino/Speckle.Converters.RhinoShared/ToSpeckle/TopLevel/RhinoObjectToSpeckleTopLevelConverter.cs diff --git a/README.md b/README.md index 3bf555c02..3c4cb6a34 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ # speckle-sharp-connectors +[![codecov](https://codecov.io/gh/specklesystems/speckle-sharp-connectors/graph/badge.svg?token=eMhI4M8umi)](https://codecov.io/gh/specklesystems/speckle-sharp-connectors) diff --git a/Sdk/Speckle.Converters.Common/ContextWrapper.cs b/Sdk/Speckle.Converters.Common/ContextWrapper.cs index 02088f06b..97d77a338 100644 --- a/Sdk/Speckle.Converters.Common/ContextWrapper.cs +++ b/Sdk/Speckle.Converters.Common/ContextWrapper.cs @@ -5,7 +5,7 @@ public class ContextWrapper : IDisposable { private IConversionContextStack? _stack; - public ConversionContext? Context { get; private set; } + public IConversionContext? Context { get; private set; } public ContextWrapper(IConversionContextStack stack) { diff --git a/Sdk/Speckle.Converters.Common/ConversionContext.cs b/Sdk/Speckle.Converters.Common/ConversionContext.cs index 723877d0b..5fafa4046 100644 --- a/Sdk/Speckle.Converters.Common/ConversionContext.cs +++ b/Sdk/Speckle.Converters.Common/ConversionContext.cs @@ -1,7 +1,10 @@ -namespace Speckle.Converters.Common; +using Speckle.InterfaceGenerator; + +namespace Speckle.Converters.Common; // POC: record? -public class ConversionContext +[GenerateAutoInterface] +public class ConversionContext : IConversionContext where TDocument : class { public ConversionContext(TDocument doc, string speckleUnits) diff --git a/Sdk/Speckle.Converters.Common/ConversionContextStack.cs b/Sdk/Speckle.Converters.Common/ConversionContextStack.cs index 918a29d3c..8de8e7f49 100644 --- a/Sdk/Speckle.Converters.Common/ConversionContextStack.cs +++ b/Sdk/Speckle.Converters.Common/ConversionContextStack.cs @@ -28,9 +28,9 @@ IHostToSpeckleUnitConverter unitConverter _stack.Push(new ConversionContext(_document, _unitConverter.ConvertOrThrow(hostUnit))); } - private readonly Stack> _stack = new(); + private readonly Stack> _stack = new(); - public ConversionContext Current => _stack.Peek(); + public IConversionContext Current => _stack.Peek(); public ContextWrapper Push(string speckleUnit) { diff --git a/Speckle.Connectors.sln b/Speckle.Connectors.sln index c16b2e344..e521763f8 100644 --- a/Speckle.Connectors.sln +++ b/Speckle.Connectors.sln @@ -9,6 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Config", "Config", "{85A13E Directory.Packages.props = Directory.Packages.props global.json = global.json README.md = README.md + codecov.yml = codecov.yml EndProjectSection EndProject roject("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Revit", "Revit", "{4838C66E-8677-4FBD-9609-25376042E981}" @@ -91,6 +92,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Converters.Autocad2 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Converters.Civil3d2024", "Converters\Civil3d\Speckle.Converters.Civil3d2024\Speckle.Converters.Civil3d2024.csproj", "{25172C49-7AA4-4739-BB07-69785094C379}" EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Speckle.Converters.RhinoShared", "Converters\Rhino\Speckle.Converters.RhinoShared\Speckle.Converters.RhinoShared.shproj", "{E1C43415-3200-45F4-8BF9-A4DD7D7F2ED9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Converters.Rhino7.Tests", "Converters\Rhino\Speckle.Converters.Rhino7.Tests\Speckle.Converters.Rhino7.Tests.csproj", "{AC2DB416-F05C-4296-9040-56D6AD4FCD27}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Converters.Revit2023.Tests", "Converters\Revit\Speckle.Converters.Revit2023.Tests\Speckle.Converters.Revit2023.Tests.csproj", "{68CF9BDF-94AC-4D2D-A7BD-D1C064F97051}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -193,6 +200,14 @@ Global {25172C49-7AA4-4739-BB07-69785094C379}.Debug|Any CPU.Build.0 = Debug|Any CPU {25172C49-7AA4-4739-BB07-69785094C379}.Release|Any CPU.ActiveCfg = Release|Any CPU {25172C49-7AA4-4739-BB07-69785094C379}.Release|Any CPU.Build.0 = Release|Any CPU + {AC2DB416-F05C-4296-9040-56D6AD4FCD27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AC2DB416-F05C-4296-9040-56D6AD4FCD27}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AC2DB416-F05C-4296-9040-56D6AD4FCD27}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AC2DB416-F05C-4296-9040-56D6AD4FCD27}.Release|Any CPU.Build.0 = Release|Any CPU + {68CF9BDF-94AC-4D2D-A7BD-D1C064F97051}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {68CF9BDF-94AC-4D2D-A7BD-D1C064F97051}.Debug|Any CPU.Build.0 = Debug|Any CPU + {68CF9BDF-94AC-4D2D-A7BD-D1C064F97051}.Release|Any CPU.ActiveCfg = Release|Any CPU + {68CF9BDF-94AC-4D2D-A7BD-D1C064F97051}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {C9D4CA21-182B-4ED2-81BB-280A6FD713F6} = {2E00592E-558D-492D-88F9-3ECEE4C0C7DA} @@ -228,5 +243,8 @@ Global {C2DE264A-AA87-4012-B954-17E3F403A237} = {804E065F-914C-414A-AF84-009312C3CFF6} {AF507D61-6766-4C20-9F58-23DC29508219} = {804E065F-914C-414A-AF84-009312C3CFF6} {25172C49-7AA4-4739-BB07-69785094C379} = {804E065F-914C-414A-AF84-009312C3CFF6} + {E1C43415-3200-45F4-8BF9-A4DD7D7F2ED9} = {9584AEE5-CD59-46E6-93E6-2DC2B5285B75} + {AC2DB416-F05C-4296-9040-56D6AD4FCD27} = {9584AEE5-CD59-46E6-93E6-2DC2B5285B75} + {68CF9BDF-94AC-4D2D-A7BD-D1C064F97051} = {D92751C8-1039-4005-90B2-913E55E0B8BD} EndGlobalSection EndGlobal diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 000000000..5de2dc643 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,7 @@ +coverage: + status: + project: + default: + target: auto + threshold: 1% + base: auto \ No newline at end of file