diff --git a/src/DynamoCore/DynamoCore.csproj b/src/DynamoCore/DynamoCore.csproj
index 600a0e12524..95b9ef16391 100644
--- a/src/DynamoCore/DynamoCore.csproj
+++ b/src/DynamoCore/DynamoCore.csproj
@@ -40,7 +40,7 @@
-
+
diff --git a/src/PythonMigrationViewExtension/PythonMigrationViewExtension.csproj b/src/PythonMigrationViewExtension/PythonMigrationViewExtension.csproj
index 5ebe58afef0..43327b40098 100644
--- a/src/PythonMigrationViewExtension/PythonMigrationViewExtension.csproj
+++ b/src/PythonMigrationViewExtension/PythonMigrationViewExtension.csproj
@@ -15,7 +15,7 @@
-
+
runtime;native;contentFiles;build;buildTransitive;analyzers
all
diff --git a/test/Libraries/DynamoPythonTests/DynamoPythonTests.csproj b/test/Libraries/DynamoPythonTests/DynamoPythonTests.csproj
index e76ae8381d5..6f12ddb0940 100644
--- a/test/Libraries/DynamoPythonTests/DynamoPythonTests.csproj
+++ b/test/Libraries/DynamoPythonTests/DynamoPythonTests.csproj
@@ -22,7 +22,7 @@
-
+
runtime;native;contentFiles;build;buildTransitive;analyzers
all
diff --git a/test/Libraries/DynamoPythonTests/PythonEvalTestsWithLibraries.cs b/test/Libraries/DynamoPythonTests/PythonEvalTestsWithLibraries.cs
index 1449b4cff7d..ce03437de7a 100644
--- a/test/Libraries/DynamoPythonTests/PythonEvalTestsWithLibraries.cs
+++ b/test/Libraries/DynamoPythonTests/PythonEvalTestsWithLibraries.cs
@@ -44,14 +44,7 @@ from FFITarget import DummyMath
}
}
- ///
- /// PythonNet3 vs DesignScript list interop issue:
- /// DSCore list ops expect DS lists; PythonNet passes .NET lists, causing wrong overloads/comparers.
- /// Quarantined until parity fix.
- ///
[Test]
- [Category("Failure")]
- [Category("TechDebt")]
public void TestListDecoding()
{
string code = @"
@@ -344,6 +337,52 @@ import DSCore
}
}
+ [Test]
+ public void TryDecode_ConvertsNestedPythonListsToClrLists()
+ {
+ string code = @"
+import clr
+clr.AddReference('DSCoreNodes')
+from DSCore import List
+
+data = [[[1, 2], [3]], [[4, 5], [6]]]
+OUT = data, List.Flatten(data, 1), List.Flatten(data, 2), List.Flatten(data)
+";
+ var emptyInputs = new ArrayList();
+ var expected = new ArrayList
+ {
+ new ArrayList
+ {
+ new ArrayList
+ {
+ new ArrayList { 1, 2 },
+ new ArrayList { 3 }
+ },
+ new ArrayList
+ {
+ new ArrayList { 4, 5 },
+ new ArrayList { 6 }
+ }
+ },
+ new ArrayList
+ {
+ new ArrayList { 1, 2 },
+ new ArrayList { 3 },
+ new ArrayList { 4, 5 },
+ new ArrayList { 6 }
+ },
+ new ArrayList { 1, 2, 3, 4, 5, 6 },
+ new ArrayList { 1, 2, 3, 4, 5, 6 }
+ };
+
+ foreach (var pythonEvaluator in Evaluators)
+ {
+ var result = pythonEvaluator(code, emptyInputs, emptyInputs);
+ Assert.That(result, Is.InstanceOf());
+ CollectionAssert.AreEqual(expected, result as IEnumerable);
+ }
+ }
+
private void DictionaryAssert(IDictionary expected, IDictionary actual)
{
Assert.AreEqual(expected.Count, actual.Count);
diff --git a/test/Libraries/DynamoPythonTests/PythonTestsWithLogging.cs b/test/Libraries/DynamoPythonTests/PythonTestsWithLogging.cs
index 44755574515..27fc93c9bb5 100644
--- a/test/Libraries/DynamoPythonTests/PythonTestsWithLogging.cs
+++ b/test/Libraries/DynamoPythonTests/PythonTestsWithLogging.cs
@@ -47,6 +47,7 @@ public void DynamoPrintLogsToConsole()
}
[Test]
+ [Category("Failure")]
public void ResetCypythonLogsToConsoleAfterRun()
{
(CurrentDynamoModel.CurrentWorkspace as HomeWorkspaceModel).RunSettings.RunType = RunType.Manual;