diff --git a/Bonsai.Core.Tests/TestWorkflow.cs b/Bonsai.Core.Tests/TestWorkflow.cs index e2a9fa89..9dd00a97 100644 --- a/Bonsai.Core.Tests/TestWorkflow.cs +++ b/Bonsai.Core.Tests/TestWorkflow.cs @@ -122,6 +122,13 @@ public TestWorkflow AppendSubject(string name) return Append(subjectBuilder); } + public TestWorkflow TopologicalSort() + { + var workflow = new ExpressionBuilderGraph(); + workflow.InsertRange(0, Workflow.TopologicalSort()); + return new TestWorkflow(workflow, Cursor); + } + public ExpressionBuilderGraph ToInspectableGraph() { return Workflow.ToInspectableGraph(); diff --git a/Bonsai.Editor.Tests/WorkflowEditorTests.cs b/Bonsai.Editor.Tests/WorkflowEditorTests.cs index 1a762e84..9c5bd031 100644 --- a/Bonsai.Editor.Tests/WorkflowEditorTests.cs +++ b/Bonsai.Editor.Tests/WorkflowEditorTests.cs @@ -48,12 +48,6 @@ static string ToString(IEnumerable sequence) ExpressionBuilderGraph workflow = null, MockGraphView graphView = null) { - if (workflow != null) - { - // Workflows must be topologically sorted to ensure all editor operations are reversible - workflow.InsertRange(0, workflow.TopologicalSort()); - } - graphView ??= new MockGraphView(workflow); var editor = new WorkflowEditor(graphView.ServiceProvider, graphView); editor.UpdateLayout.Subscribe(graphView.UpdateGraphLayout); @@ -236,7 +230,7 @@ public void ReplaceGraphNode_SingleInputWithVisualizerMapping_GroupWorkflowHasSi .AppendBranch(source => source .AppendSubject("P") .AddArguments(source.Append(new VisualizerMappingBuilder()))) - .Workflow + .TopologicalSort() .ToInspectableGraph(); var (editor, assertIsReversible) = CreateMockEditor(workflow); @@ -252,6 +246,7 @@ public void ReplaceGraphNode_SingleInputWithVisualizerMapping_GroupWorkflowHasSi var groupBuilder = ExpressionBuilder.Unwrap(groupNode?.Value) as GroupWorkflowBuilder; Assert.IsInstanceOfType(groupBuilder, typeof(GroupWorkflowBuilder)); Assert.AreEqual(expected: 2, groupBuilder.Workflow.Count); + Assert.IsInstanceOfType(ExpressionBuilder.Unwrap(groupBuilder.Workflow[0].Value), typeof(WorkflowInputBuilder)); Assert.IsInstanceOfType(ExpressionBuilder.Unwrap(groupBuilder.Workflow[1].Value), typeof(WorkflowOutputBuilder)); assertIsReversible(); }