/// <inheritdoc/> public override bool Equals(MultiNodeMessage other) { var otherResultMessage = other as MultiNodeResultMessage; return(otherResultMessage != null && base.Equals(other) && Passed == otherResultMessage.Passed); }
/// <summary> /// Creates a deep copy of the current <see cref="NodeData"/> object /// </summary> public NodeData Copy() { var events = new MultiNodeMessage[_eventTimeLine.Count]; _eventTimeLine.CopyTo(events); return(new NodeData(NodeIndex, NodeRole, StartTime, events, EndTime, Passed)); }
/// <inheritdoc/> public override bool Equals(MultiNodeMessage other) { var otherLogMessage = other as MultiNodeLogMessage; return(otherLogMessage != null && base.Equals(other) && LogLevel == otherLogMessage.LogLevel && string.Equals(ActorPath, otherLogMessage.ActorPath)); }
/// <summary> /// Pushes a new message onto the <see cref="EventStream"/> for this node. /// </summary> public void Put(MultiNodeMessage message) { //Check for passed messages if (!Passed.HasValue && message is MultiNodeResultMessage) { var resultMessage = message as MultiNodeResultMessage; Passed = resultMessage.Passed; EndTime = DateTime.UtcNow.Ticks; } _eventTimeLine.Add(message); }
/// <summary> /// Creates a deep copy of the current <see cref="FactData"/> object. /// </summary> public FactData Copy() { var nodeData = new Dictionary <int, NodeData>(_nodes.Count); foreach (var node in _nodes) { //make a copy of the NodeData too nodeData[node.Key] = node.Value.Copy(); } var messageTimeline = new MultiNodeMessage[_testRunnerTimeLine.Count]; _testRunnerTimeLine.CopyTo(messageTimeline); return(new FactData(FactName, StartTime, nodeData, messageTimeline, EndTime, Passed)); }
public void Put(MultiNodeMessage message) { _testRunnerTimeLine.Add(message); }
/// <summary> /// Send a <see cref="MultiNodeMessage"/> to the correct <see cref="NodeDataActor"/> based on the /// <see cref="MultiNodeMessage.NodeIndex"/> property. /// </summary> private void RouteToNodeActor(MultiNodeMessage message) { var actor = _nodeActors[message.NodeIndex]; actor.Tell(message); }