Merge remote-tracking branch 'origin/dev' into main-dev

This commit is contained in:
Adam Hathcock
2025-04-30 16:24:06 +01:00
11 changed files with 158 additions and 92 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"csharpier": {
"version": "1.0.0",
"version": "1.0.1",
"commands": [
"csharpier"
],
+25 -1
View File
@@ -1,2 +1,26 @@
Directory.Build.targets
Directory.Build.props
Directory.Build.props
**/bin/*
**/obj/*
_ReSharper.SharpCompress/
bin/
*.suo
*.user
TestArchives/Scratch/
TestArchives/Scratch2/
TestResults/
*.nupkg
packages/*/
project.lock.json
tests/TestArchives/Scratch
.vs
tools
.vscode
.idea/
.DS_Store
*.snupkg
coverage.xml
*.received.*
+1 -1
View File
@@ -28,7 +28,7 @@
<PackageVersion Include="SimpleExec" Version="12.0.0" />
<PackageVersion Include="System.Threading.Channels" Version="9.0.4" />
<PackageVersion Include="Verify.Quibble" Version="2.1.1" />
<PackageVersion Include="Verify.Xunit" Version="29.3.0" />
<PackageVersion Include="Verify.Xunit" Version="29.4.0" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.assert" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.2" />
@@ -60,8 +60,8 @@
},
"Argon": {
"type": "Transitive",
"resolved": "0.27.0",
"contentHash": "LtZKATYeTwDyYq1AXrgVU/ly+nI6GvE0GK1isJYFPQOnb2uHUxvDA+yh40QYaITGTLViXK7rbWhNKpbZ5pb9XA=="
"resolved": "0.28.0",
"contentHash": "78BmoFm8SK733nq4F/SjqNKkXJHdrg/MslvYfNjJX/nM/mEkltHUzPJRjBE9VI/zghsjFPQxMRPEUaqIgg98zg=="
},
"Castle.Core": {
"type": "Transitive",
@@ -73,17 +73,17 @@
},
"DiffEngine": {
"type": "Transitive",
"resolved": "16.1.0",
"contentHash": "ImEFC6BN62paN0N7v8vrLY3x/LpfbJaJy5yDtL+/L2As6FI1npGJcFZwzz1A7pdDjIYPOXE91qv6BpgEUGjDkA==",
"resolved": "16.2.1",
"contentHash": "UfMgXClqOGkPNfth210upiTY18LPCgjsfNrh0Olo5qI+QTkkCO6wHSuOwknxJdKtsWoaJ+E132Y2nzD0PiLWRw==",
"dependencies": {
"EmptyFiles": "8.8.0",
"EmptyFiles": "8.9.1",
"System.Management": "8.0.0"
}
},
"EmptyFiles": {
"type": "Transitive",
"resolved": "8.8.0",
"contentHash": "d0pgc/vMyKgQ9T3qiiJBn1uYUSZ1/OShh6tySnNSkELRSgM4A4IOrpdQhLqwCkPwYvdJqzKuxQ6wn3MQAd4GNA=="
"resolved": "8.9.1",
"contentHash": "GbGf+oH/xiI3C5vJ5TnoA4sx7x7LhtOvN00fxihRZJsj40XuXk2TMz/4m26PfNSJj8JMAqo3BUBirjvam+3xkA=="
},
"FSharp.Core": {
"type": "Transitive",
@@ -311,11 +311,11 @@
},
"Verify": {
"type": "Transitive",
"resolved": "29.3.0",
"contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==",
"resolved": "29.4.0",
"contentHash": "wlqJ6ygXORa3lrAaErTA4EWkDcK9pBG2k5iC/I5F2UpWfyV7aXw/+SwGiWYe4XSk9d7VObe4xi4+0AV9rLRsBw==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4"
}
@@ -369,7 +369,7 @@
"Moq": "[4.20.72, )",
"Speckle.Sdk": "[1.0.0, )",
"Verify.Quibble": "[2.1.1, )",
"Verify.Xunit": "[29.3.0, )"
"Verify.Xunit": "[29.4.0, )"
}
},
"GraphQL.Client": {
@@ -451,15 +451,15 @@
},
"Verify.Xunit": {
"type": "CentralTransitive",
"requested": "[29.3.0, )",
"resolved": "29.3.0",
"contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==",
"requested": "[29.4.0, )",
"resolved": "29.4.0",
"contentHash": "P8HYW7aromKGm90Cgx0XKL3qKKmYZHDwHTQfBfDCCPnhNlVWevJzrpuUQ0+3vTVdRAtsts2a1OE/tD+3yjJbHA==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4",
"Verify": "29.3.0",
"Verify": "29.4.0",
"xunit.abstractions": "2.0.3",
"xunit.extensibility.execution": "2.9.3"
}
@@ -95,8 +95,8 @@
},
"Argon": {
"type": "Transitive",
"resolved": "0.27.0",
"contentHash": "LtZKATYeTwDyYq1AXrgVU/ly+nI6GvE0GK1isJYFPQOnb2uHUxvDA+yh40QYaITGTLViXK7rbWhNKpbZ5pb9XA=="
"resolved": "0.28.0",
"contentHash": "78BmoFm8SK733nq4F/SjqNKkXJHdrg/MslvYfNjJX/nM/mEkltHUzPJRjBE9VI/zghsjFPQxMRPEUaqIgg98zg=="
},
"Castle.Core": {
"type": "Transitive",
@@ -108,17 +108,17 @@
},
"DiffEngine": {
"type": "Transitive",
"resolved": "16.1.0",
"contentHash": "ImEFC6BN62paN0N7v8vrLY3x/LpfbJaJy5yDtL+/L2As6FI1npGJcFZwzz1A7pdDjIYPOXE91qv6BpgEUGjDkA==",
"resolved": "16.2.1",
"contentHash": "UfMgXClqOGkPNfth210upiTY18LPCgjsfNrh0Olo5qI+QTkkCO6wHSuOwknxJdKtsWoaJ+E132Y2nzD0PiLWRw==",
"dependencies": {
"EmptyFiles": "8.8.0",
"EmptyFiles": "8.9.1",
"System.Management": "8.0.0"
}
},
"EmptyFiles": {
"type": "Transitive",
"resolved": "8.8.0",
"contentHash": "d0pgc/vMyKgQ9T3qiiJBn1uYUSZ1/OShh6tySnNSkELRSgM4A4IOrpdQhLqwCkPwYvdJqzKuxQ6wn3MQAd4GNA=="
"resolved": "8.9.1",
"contentHash": "GbGf+oH/xiI3C5vJ5TnoA4sx7x7LhtOvN00fxihRZJsj40XuXk2TMz/4m26PfNSJj8JMAqo3BUBirjvam+3xkA=="
},
"FSharp.Core": {
"type": "Transitive",
@@ -356,11 +356,11 @@
},
"Verify": {
"type": "Transitive",
"resolved": "29.3.0",
"contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==",
"resolved": "29.4.0",
"contentHash": "wlqJ6ygXORa3lrAaErTA4EWkDcK9pBG2k5iC/I5F2UpWfyV7aXw/+SwGiWYe4XSk9d7VObe4xi4+0AV9rLRsBw==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4"
}
@@ -414,7 +414,7 @@
"Moq": "[4.20.72, )",
"Speckle.Sdk": "[1.0.0, )",
"Verify.Quibble": "[2.1.1, )",
"Verify.Xunit": "[29.3.0, )"
"Verify.Xunit": "[29.4.0, )"
}
},
"GraphQL.Client": {
@@ -487,15 +487,15 @@
},
"Verify.Xunit": {
"type": "CentralTransitive",
"requested": "[29.3.0, )",
"resolved": "29.3.0",
"contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==",
"requested": "[29.4.0, )",
"resolved": "29.4.0",
"contentHash": "P8HYW7aromKGm90Cgx0XKL3qKKmYZHDwHTQfBfDCCPnhNlVWevJzrpuUQ0+3vTVdRAtsts2a1OE/tD+3yjJbHA==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4",
"Verify": "29.3.0",
"Verify": "29.4.0",
"xunit.abstractions": "2.0.3",
"xunit.extensibility.execution": "2.9.3"
}
+17 -17
View File
@@ -46,23 +46,23 @@
},
"Verify.Xunit": {
"type": "Direct",
"requested": "[29.3.0, )",
"resolved": "29.3.0",
"contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==",
"requested": "[29.4.0, )",
"resolved": "29.4.0",
"contentHash": "P8HYW7aromKGm90Cgx0XKL3qKKmYZHDwHTQfBfDCCPnhNlVWevJzrpuUQ0+3vTVdRAtsts2a1OE/tD+3yjJbHA==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4",
"Verify": "29.3.0",
"Verify": "29.4.0",
"xunit.abstractions": "2.0.3",
"xunit.extensibility.execution": "2.9.3"
}
},
"Argon": {
"type": "Transitive",
"resolved": "0.27.0",
"contentHash": "LtZKATYeTwDyYq1AXrgVU/ly+nI6GvE0GK1isJYFPQOnb2uHUxvDA+yh40QYaITGTLViXK7rbWhNKpbZ5pb9XA=="
"resolved": "0.28.0",
"contentHash": "78BmoFm8SK733nq4F/SjqNKkXJHdrg/MslvYfNjJX/nM/mEkltHUzPJRjBE9VI/zghsjFPQxMRPEUaqIgg98zg=="
},
"Castle.Core": {
"type": "Transitive",
@@ -74,17 +74,17 @@
},
"DiffEngine": {
"type": "Transitive",
"resolved": "16.1.0",
"contentHash": "ImEFC6BN62paN0N7v8vrLY3x/LpfbJaJy5yDtL+/L2As6FI1npGJcFZwzz1A7pdDjIYPOXE91qv6BpgEUGjDkA==",
"resolved": "16.2.1",
"contentHash": "UfMgXClqOGkPNfth210upiTY18LPCgjsfNrh0Olo5qI+QTkkCO6wHSuOwknxJdKtsWoaJ+E132Y2nzD0PiLWRw==",
"dependencies": {
"EmptyFiles": "8.8.0",
"EmptyFiles": "8.9.1",
"System.Management": "8.0.0"
}
},
"EmptyFiles": {
"type": "Transitive",
"resolved": "8.8.0",
"contentHash": "d0pgc/vMyKgQ9T3qiiJBn1uYUSZ1/OShh6tySnNSkELRSgM4A4IOrpdQhLqwCkPwYvdJqzKuxQ6wn3MQAd4GNA=="
"resolved": "8.9.1",
"contentHash": "GbGf+oH/xiI3C5vJ5TnoA4sx7x7LhtOvN00fxihRZJsj40XuXk2TMz/4m26PfNSJj8JMAqo3BUBirjvam+3xkA=="
},
"FSharp.Core": {
"type": "Transitive",
@@ -280,11 +280,11 @@
},
"Verify": {
"type": "Transitive",
"resolved": "29.3.0",
"contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==",
"resolved": "29.4.0",
"contentHash": "wlqJ6ygXORa3lrAaErTA4EWkDcK9pBG2k5iC/I5F2UpWfyV7aXw/+SwGiWYe4XSk9d7VObe4xi4+0AV9rLRsBw==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4"
}
@@ -74,8 +74,8 @@
},
"Argon": {
"type": "Transitive",
"resolved": "0.27.0",
"contentHash": "LtZKATYeTwDyYq1AXrgVU/ly+nI6GvE0GK1isJYFPQOnb2uHUxvDA+yh40QYaITGTLViXK7rbWhNKpbZ5pb9XA=="
"resolved": "0.28.0",
"contentHash": "78BmoFm8SK733nq4F/SjqNKkXJHdrg/MslvYfNjJX/nM/mEkltHUzPJRjBE9VI/zghsjFPQxMRPEUaqIgg98zg=="
},
"Castle.Core": {
"type": "Transitive",
@@ -87,17 +87,17 @@
},
"DiffEngine": {
"type": "Transitive",
"resolved": "16.1.0",
"contentHash": "ImEFC6BN62paN0N7v8vrLY3x/LpfbJaJy5yDtL+/L2As6FI1npGJcFZwzz1A7pdDjIYPOXE91qv6BpgEUGjDkA==",
"resolved": "16.2.1",
"contentHash": "UfMgXClqOGkPNfth210upiTY18LPCgjsfNrh0Olo5qI+QTkkCO6wHSuOwknxJdKtsWoaJ+E132Y2nzD0PiLWRw==",
"dependencies": {
"EmptyFiles": "8.8.0",
"EmptyFiles": "8.9.1",
"System.Management": "8.0.0"
}
},
"EmptyFiles": {
"type": "Transitive",
"resolved": "8.8.0",
"contentHash": "d0pgc/vMyKgQ9T3qiiJBn1uYUSZ1/OShh6tySnNSkELRSgM4A4IOrpdQhLqwCkPwYvdJqzKuxQ6wn3MQAd4GNA=="
"resolved": "8.9.1",
"contentHash": "GbGf+oH/xiI3C5vJ5TnoA4sx7x7LhtOvN00fxihRZJsj40XuXk2TMz/4m26PfNSJj8JMAqo3BUBirjvam+3xkA=="
},
"FSharp.Core": {
"type": "Transitive",
@@ -325,11 +325,11 @@
},
"Verify": {
"type": "Transitive",
"resolved": "29.3.0",
"contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==",
"resolved": "29.4.0",
"contentHash": "wlqJ6ygXORa3lrAaErTA4EWkDcK9pBG2k5iC/I5F2UpWfyV7aXw/+SwGiWYe4XSk9d7VObe4xi4+0AV9rLRsBw==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4"
}
@@ -391,7 +391,7 @@
"Moq": "[4.20.72, )",
"Speckle.Sdk": "[1.0.0, )",
"Verify.Quibble": "[2.1.1, )",
"Verify.Xunit": "[29.3.0, )"
"Verify.Xunit": "[29.4.0, )"
}
},
"GraphQL.Client": {
@@ -473,15 +473,15 @@
},
"Verify.Xunit": {
"type": "CentralTransitive",
"requested": "[29.3.0, )",
"resolved": "29.3.0",
"contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==",
"requested": "[29.4.0, )",
"resolved": "29.4.0",
"contentHash": "P8HYW7aromKGm90Cgx0XKL3qKKmYZHDwHTQfBfDCCPnhNlVWevJzrpuUQ0+3vTVdRAtsts2a1OE/tD+3yjJbHA==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4",
"Verify": "29.3.0",
"Verify": "29.4.0",
"xunit.abstractions": "2.0.3",
"xunit.extensibility.execution": "2.9.3"
}
@@ -0,0 +1,12 @@
{
"applicationId": "ajsdf",
"arr": null,
"attachedProp": null,
"crazyProp": null,
"detachedProp": null,
"DynamicPropertyKeys": [],
"id": null,
"IgnoredSchemaProp": null,
"list": [],
"speckle_type": "Speckle.Core.Tests.Unit.Models.BaseTests+SampleObject"
}
@@ -134,6 +134,16 @@ public class BaseTests
names.Should().Contain(nameof(@base.attachedProp));
}
[Fact(
DisplayName = $"Checks that all instance members are returned including ones on super classes (e.g. {nameof(Base)}"
)]
public async Task CanGetMembers_BaseMembers()
{
var @base = new SampleObject { applicationId = "ajsdf" };
var members = @base.GetMembers();
await Verify(members);
}
[Fact(DisplayName = "Checks that only dynamic properties are returned")]
public void CanGetMembers_OnlyDynamic()
{
@@ -0,0 +1,20 @@
using System.Runtime.CompilerServices;
namespace Speckle.Sdk.Tests.Unit;
public static class SpeckleVerify
{
private static bool _initialized;
[ModuleInitializer]
public static void Initialize()
{
if (_initialized)
{
return;
}
global::Speckle.Sdk.Testing.SpeckleVerify.Initialize();
_initialized = true;
}
}
+18 -18
View File
@@ -81,8 +81,8 @@
},
"Argon": {
"type": "Transitive",
"resolved": "0.27.0",
"contentHash": "LtZKATYeTwDyYq1AXrgVU/ly+nI6GvE0GK1isJYFPQOnb2uHUxvDA+yh40QYaITGTLViXK7rbWhNKpbZ5pb9XA=="
"resolved": "0.28.0",
"contentHash": "78BmoFm8SK733nq4F/SjqNKkXJHdrg/MslvYfNjJX/nM/mEkltHUzPJRjBE9VI/zghsjFPQxMRPEUaqIgg98zg=="
},
"Castle.Core": {
"type": "Transitive",
@@ -94,17 +94,17 @@
},
"DiffEngine": {
"type": "Transitive",
"resolved": "16.1.0",
"contentHash": "ImEFC6BN62paN0N7v8vrLY3x/LpfbJaJy5yDtL+/L2As6FI1npGJcFZwzz1A7pdDjIYPOXE91qv6BpgEUGjDkA==",
"resolved": "16.2.1",
"contentHash": "UfMgXClqOGkPNfth210upiTY18LPCgjsfNrh0Olo5qI+QTkkCO6wHSuOwknxJdKtsWoaJ+E132Y2nzD0PiLWRw==",
"dependencies": {
"EmptyFiles": "8.8.0",
"EmptyFiles": "8.9.1",
"System.Management": "8.0.0"
}
},
"EmptyFiles": {
"type": "Transitive",
"resolved": "8.8.0",
"contentHash": "d0pgc/vMyKgQ9T3qiiJBn1uYUSZ1/OShh6tySnNSkELRSgM4A4IOrpdQhLqwCkPwYvdJqzKuxQ6wn3MQAd4GNA=="
"resolved": "8.9.1",
"contentHash": "GbGf+oH/xiI3C5vJ5TnoA4sx7x7LhtOvN00fxihRZJsj40XuXk2TMz/4m26PfNSJj8JMAqo3BUBirjvam+3xkA=="
},
"FSharp.Core": {
"type": "Transitive",
@@ -332,11 +332,11 @@
},
"Verify": {
"type": "Transitive",
"resolved": "29.3.0",
"contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==",
"resolved": "29.4.0",
"contentHash": "wlqJ6ygXORa3lrAaErTA4EWkDcK9pBG2k5iC/I5F2UpWfyV7aXw/+SwGiWYe4XSk9d7VObe4xi4+0AV9rLRsBw==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4"
}
@@ -384,7 +384,7 @@
"Moq": "[4.20.72, )",
"Speckle.Sdk": "[1.0.0, )",
"Verify.Quibble": "[2.1.1, )",
"Verify.Xunit": "[29.3.0, )"
"Verify.Xunit": "[29.4.0, )"
}
},
"GraphQL.Client": {
@@ -460,15 +460,15 @@
},
"Verify.Xunit": {
"type": "CentralTransitive",
"requested": "[29.3.0, )",
"resolved": "29.3.0",
"contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==",
"requested": "[29.4.0, )",
"resolved": "29.4.0",
"contentHash": "P8HYW7aromKGm90Cgx0XKL3qKKmYZHDwHTQfBfDCCPnhNlVWevJzrpuUQ0+3vTVdRAtsts2a1OE/tD+3yjJbHA==",
"dependencies": {
"Argon": "0.27.0",
"DiffEngine": "16.1.0",
"Argon": "0.28.0",
"DiffEngine": "16.2.1",
"SimpleInfoName": "3.1.0",
"System.IO.Hashing": "9.0.4",
"Verify": "29.3.0",
"Verify": "29.4.0",
"xunit.abstractions": "2.0.3",
"xunit.extensibility.execution": "2.9.3"
}