本文整理汇总了C#中ProtoScript.Runners.LiveRunner类的典型用法代码示例。如果您正苦于以下问题:C# LiveRunner类的具体用法?C# LiveRunner怎么用?C# LiveRunner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LiveRunner类属于ProtoScript.Runners命名空间,在下文中一共展示了LiveRunner类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Setup
public override void Setup()
{
base.Setup();
liveRunner = new ProtoScript.Runners.LiveRunner();
liveRunner.ResetVMAndResyncGraph(new List<string> { "FFITarget.dll" });
runtimeCore = liveRunner.RuntimeCore;
}
示例2: ConvertNodesToCodeTask
public ConvertNodesToCodeTask(List<SnapshotNode> snapshotNodes, LiveRunner runner)
: base(runner)
{
if (null == snapshotNodes || (snapshotNodes.Count <= 0))
throw new ArgumentException("snapshotNodes", "Invalid SnapshotNode list (35CA7759D0C9)");
this.snapshotNodes = snapshotNodes;
}
示例3: GraphILTest_Assign01_AstInput
public void GraphILTest_Assign01_AstInput()
{
// Build the AST trees
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IntNode(10),
ProtoCore.DSASM.Operator.assign);
List<ProtoCore.AST.AssociativeAST.AssociativeNode> astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
astList.Add(assign);
// Update graph using AST node input
ProtoScript.Runners.ILiveRunner liveRunner = new ProtoScript.Runners.LiveRunner();
liveRunner.UpdateGraph(assign);
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
}
示例4: TestPreviewModify1Node01
public void TestPreviewModify1Node01()
{
List<string> codes = new List<string>()
{
@"
a = 1;
",
@"
x = a;
y = x;
",
@"
a = 10;
",
};
Guid guid1 = System.Guid.NewGuid();
Guid guid2 = System.Guid.NewGuid();
// Create and run the graph [a = 1;] and [x = a; y = x;]
ProtoScript.Runners.LiveRunner liveRunner = new ProtoScript.Runners.LiveRunner();
List<Subtree> added = new List<Subtree>();
added.Add(CreateSubTreeFromCode(guid1, codes[0]));
added.Add(CreateSubTreeFromCode(guid2, codes[1]));
var syncData = new GraphSyncData(null, added, null);
liveRunner.UpdateGraph(syncData);
// Modify [a = 1;] to [a = 10;]
List<Subtree> modified = new List<Subtree>();
modified.Add(CreateSubTreeFromCode(guid1, codes[2]));
syncData = new GraphSyncData(null, null, modified);
// Get astlist from ChangeSetComputer
ChangeSetComputer changeSetState = new ProtoScript.Runners.ChangeSetComputer(liveRunner.Core);
List<AssociativeNode> astList = changeSetState.GetDeltaASTList(syncData);
// Get the the preview guids (affected graphs)
List<Guid> reachableGuidList = changeSetState.EstimateNodesAffectedByASTList(astList);
// Check if the the affected guids are in the list
List<Guid> expectedGuid = new List<Guid>{guid2};
AssertPreview(reachableGuidList, expectedGuid, 1);
}
示例5: GraphILTest_Assign01
public void GraphILTest_Assign01()
{
// Build the AST trees
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IntNode(10),
ProtoCore.DSASM.Operator.assign);
List<ProtoCore.AST.AssociativeAST.AssociativeNode> astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
astList.Add(assign);
// Instantiate GraphSyncData
List<Subtree> addedList = new List<Subtree>();
addedList.Add(new Subtree(astList, System.Guid.NewGuid()));
GraphSyncData syncData = new GraphSyncData(null, addedList, null);
// emit the DS code from the AST tree
ProtoScript.Runners.ILiveRunner liveRunner = new ProtoScript.Runners.LiveRunner();
liveRunner.UpdateGraph(syncData);
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
}
示例6: GraphILTest_Assign05
public void GraphILTest_Assign05()
{
////////////////////////////////////////////////////////////////////
// Adds nodes => a = 10;
// executes it
// Adds node => c = 20;
// executes it
// Adds node => b = a + c;
// executes it
// deletes node => c = 20;
// executes updated graph
////////////////////////////////////////////////////////////////////
liveRunner = new ProtoScript.Runners.LiveRunner();
List<ProtoCore.AST.AssociativeAST.AssociativeNode> astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
// Build the AST trees
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign1 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IntNode(10),
ProtoCore.DSASM.Operator.assign);
astList.Add(assign1);
List<Subtree> addedList = new List<Subtree>();
addedList.Add(new Subtree(astList, System.Guid.NewGuid()));
// Instantiate GraphSyncData
GraphSyncData syncData = new GraphSyncData(null, addedList, null);
// emit the DS code from the AST tree
liveRunner.UpdateGraph(syncData);
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
//string o = liveRunner.GetCoreDump();
astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign2 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("c"),
new ProtoCore.AST.AssociativeAST.IntNode(20),
ProtoCore.DSASM.Operator.assign);
astList.Add(assign2);
addedList = new List<Subtree>();
System.Guid guid1 = System.Guid.NewGuid();
addedList.Add(new Subtree(astList, guid1));
syncData = new GraphSyncData(null, addedList, null);
// emit the DS code from the AST tree
liveRunner.UpdateGraph(syncData);
mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
mirror = liveRunner.InspectNodeValue("c");
Assert.IsTrue((Int64)mirror.GetData().Data == 20);
//string o = liveRunner.GetCoreDump();
astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign3 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("b"),
new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IdentifierNode("c"),
ProtoCore.DSASM.Operator.add),
ProtoCore.DSASM.Operator.assign);
astList.Add(assign3);
addedList = new List<Subtree>();
addedList.Add(new Subtree(astList, System.Guid.NewGuid()));
syncData = new GraphSyncData(null, addedList, null);
// emit the DS code from the AST tree
liveRunner.UpdateGraph(syncData);
mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
mirror = liveRunner.InspectNodeValue("c");
Assert.IsTrue((Int64)mirror.GetData().Data == 20);
mirror = liveRunner.InspectNodeValue("b");
Assert.IsTrue((Int64)mirror.GetData().Data == 30);
//o = liveRunner.GetCoreDump();
astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
astList.Add(assign2);
List<Subtree> deletedList = new List<Subtree>();
deletedList.Add(new Subtree(astList, guid1));
syncData = new GraphSyncData(deletedList, null, null);
// emit the DS code from the AST tree
liveRunner.UpdateGraph(syncData);
mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
mirror = liveRunner.InspectNodeValue("c");
Assert.IsTrue(mirror.GetData().IsNull);
mirror = liveRunner.InspectNodeValue("b");
Assert.IsTrue(mirror.GetData().IsNull);
//.........这里部分代码省略.........
示例7: GraphILTest_Assign04_astInput
public void GraphILTest_Assign04_astInput()
{
////////////////////////////////////////////////////////////////////
// Adds nodes => a = 10;
// executes it
// Adds node => c = 20;
// executes it
// Adds node => b = a + c;
// executes it
////////////////////////////////////////////////////////////////////
liveRunner = new ProtoScript.Runners.LiveRunner();
// Build the AST trees
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign1 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IntNode(10),
ProtoCore.DSASM.Operator.assign);
// update graph
liveRunner.UpdateGraph(assign1);
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign2 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("c"),
new ProtoCore.AST.AssociativeAST.IntNode(20),
ProtoCore.DSASM.Operator.assign);
// update graph
liveRunner.UpdateGraph(assign2);
mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
mirror = liveRunner.InspectNodeValue("c");
Assert.IsTrue((Int64)mirror.GetData().Data == 20);
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign3 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("b"),
new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IdentifierNode("c"),
ProtoCore.DSASM.Operator.add),
ProtoCore.DSASM.Operator.assign);
// update graph
liveRunner.UpdateGraph(assign3);
mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
mirror = liveRunner.InspectNodeValue("c");
Assert.IsTrue((Int64)mirror.GetData().Data == 20);
mirror = liveRunner.InspectNodeValue("b");
Assert.IsTrue((Int64)mirror.GetData().Data == 30);
}
示例8: GraphILTest_Assign03_astInput
public void GraphILTest_Assign03_astInput()
{
////////////////////////////////////////////////////////////////////
// Adds nodes => a = 10; c = 20; b = a + c;
// Creates 3 separate Subtrees
////////////////////////////////////////////////////////////////////
List<ProtoCore.AST.AssociativeAST.AssociativeNode> astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
// Build the AST trees
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign1 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IntNode(10),
ProtoCore.DSASM.Operator.assign);
astList.Add(assign1);
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign2 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("c"),
new ProtoCore.AST.AssociativeAST.IntNode(20),
ProtoCore.DSASM.Operator.assign);
astList.Add(assign2);
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign3 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("b"),
new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IdentifierNode("c"),
ProtoCore.DSASM.Operator.add),
ProtoCore.DSASM.Operator.assign);
astList.Add(assign3);
// update graph with ast input
CodeBlockNode cNode = new CodeBlockNode();
cNode.Body = astList;
liveRunner = new ProtoScript.Runners.LiveRunner();
liveRunner.UpdateGraph(cNode);
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("b");
Assert.IsTrue((Int64)mirror.GetData().Data == 30);
}
示例9: DynamoNodeValueRequestTask
public DynamoNodeValueRequestTask(Guid nodeGuid, LiveRunner runner)
: base(runner)
{
this.nodeGuid = nodeGuid;
}
示例10: GraphILTest_DeletedNode01
public void GraphILTest_DeletedNode01()
{
//====================================
// Create a = 10
// Execute and verify a = 10
// Delete a = 10
// Create b = a
// Execute and verify b = null
//====================================
// Create a = 10
// Execute and verify a = 10
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
new ProtoCore.AST.AssociativeAST.IntNode(10),
ProtoCore.DSASM.Operator.assign);
List<ProtoCore.AST.AssociativeAST.AssociativeNode> astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
astList.Add(assign);
Guid guid = System.Guid.NewGuid();
// Instantiate GraphSyncData
List<Subtree> addedList = new List<Subtree>();
addedList.Add(new Subtree(astList, guid));
GraphSyncData syncData = new GraphSyncData(null, addedList, null);
// emit the DS code from the AST tree
liveRunner = new ProtoScript.Runners.LiveRunner();
liveRunner.UpdateGraph(syncData);
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("a");
Assert.IsTrue((Int64)mirror.GetData().Data == 10);
// Delete a = 10
List<Subtree> deletedList = new List<Subtree>();
deletedList.Add(new Subtree(null, guid));
syncData = new GraphSyncData(deletedList, null, null);
liveRunner.UpdateGraph(syncData);
// Create b = a
// Execute and verify b = null
ProtoCore.AST.AssociativeAST.BinaryExpressionNode assign2 = new ProtoCore.AST.AssociativeAST.BinaryExpressionNode(
new ProtoCore.AST.AssociativeAST.IdentifierNode("b"),
new ProtoCore.AST.AssociativeAST.IdentifierNode("a"),
ProtoCore.DSASM.Operator.assign);
astList = new List<ProtoCore.AST.AssociativeAST.AssociativeNode>();
astList.Add(assign2);
guid = System.Guid.NewGuid();
// Instantiate GraphSyncData
addedList = new List<Subtree>();
addedList.Add(new Subtree(astList, guid));
syncData = new GraphSyncData(null, addedList, null);
// emit the DS code from the AST tree
liveRunner.UpdateGraph(syncData);
mirror = liveRunner.InspectNodeValue("b");
Assert.IsTrue(mirror.GetData().IsNull);
}
示例11: TestDeltaExpressionFFI_02
public void TestDeltaExpressionFFI_02()
{
liveRunner = new ProtoScript.Runners.LiveRunner();
//string code = @"class Point{ X : double; constructor ByCoordinates(x : double, y : double, z : double){X = x;} def Translate(x : double, y : double, z : double){return = Point.ByCoordinates(11,12,13);} }";
//liveRunner.UpdateCmdLineInterpreter(code);
liveRunner.UpdateCmdLineInterpreter(@"import (""FFITarget.dll"");");
liveRunner.UpdateCmdLineInterpreter("p = DummyPoint.ByCoordinates(10,10,10);");
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("p");
//==============================================
// Build a binary expression to retirieve the x property
// xval = newPoint.X
//==============================================
liveRunner.UpdateCmdLineInterpreter("xval = p.X;");
mirror = liveRunner.InspectNodeValue("xval");
//==============================================
//
// import ("ProtoGeometry.dll");
// p = Point.Bycoordinates(10.0, 10.0, 10.0);
// newPoint = p.Translate(1.0,2.0,3.0);
// xval = newPoint.X;
//
//==============================================
Assert.IsTrue((double)mirror.GetData().Data == 10.0);
//==============================================
// Translate the point
// newPoint = p.Translate(1,2,3);
//==============================================
liveRunner.UpdateCmdLineInterpreter("p = p.Translate(1,2,3);");
mirror = liveRunner.InspectNodeValue("p");
mirror = liveRunner.InspectNodeValue("xval");
//==============================================
//
// import ("ProtoGeometry.dll");
// p = Point.Bycoordinates(10.0, 10.0, 10.0);
// newPoint = p.Translate(1.0,2.0,3.0);
// xval = newPoint.X;
//
//==============================================
Assert.IsTrue((double)mirror.GetData().Data == 11.0);
}
示例12: TestDeltaExpression_02
public void TestDeltaExpression_02()
{
liveRunner = new ProtoScript.Runners.LiveRunner();
// emit the DS code from the AST tree
liveRunner.UpdateCmdLineInterpreter("x=99;");
ProtoCore.Mirror.RuntimeMirror mirror = liveRunner.InspectNodeValue("x");
Assert.IsTrue((Int64)mirror.GetData().Data == 99);
//string o = liveRunner.GetCoreDump();
// emit the DS code from the AST tree
liveRunner.UpdateCmdLineInterpreter("y=x;");
mirror = liveRunner.InspectNodeValue("y");
Assert.IsTrue((Int64)mirror.GetData().Data == 99);
mirror = liveRunner.InspectNodeValue("x");
Assert.IsTrue((Int64)mirror.GetData().Data == 99);
//string o = liveRunner.GetCoreDump();
// emit the DS code from the AST tree
liveRunner.UpdateCmdLineInterpreter("x = 100;");
mirror = liveRunner.InspectNodeValue("x");
Assert.IsTrue((Int64)mirror.GetData().Data == 100);
mirror = liveRunner.InspectNodeValue("y");
Assert.IsTrue((Int64)mirror.GetData().Data == 100);
}
示例13: DynamoConvertNodesToCodeTask
public DynamoConvertNodesToCodeTask(List<Subtree> subtrees, LiveRunner runner)
: base(runner)
{
this.subtrees = subtrees;
}
示例14: UpdateGraphTask
public UpdateGraphTask(SynchronizeData syncData, LiveRunner runner)
: base(runner)
{
this.syncData = syncData;
}
示例15: UpdateCmdLineInterpreterTask
public UpdateCmdLineInterpreterTask(string code, LiveRunner runner)
: base(runner)
{
this.cmdLineString = code;
}