public override string ToString() { var sources = string.Join(", ", SourceNodes.Select(x => x.GetType().Name)); var targets = string.Join(", ", TargetNodes.Select(x => x.GetType().Name)); return($"{ThisNode.GetType().Name}, Builder='{Builder.Name}', Sources=[{sources}], Targets=[{targets}]"); }
private void SelectCircuit() { _circuit = CircuitBuilder.CreateCircuit(SelectedCircuit); if (_circuit == null) { ConsoleOutput.Add("Circuit is not valid."); return; } SourceNodes.Clear(); foreach (Source source in _circuit.GetSourceNodes()) { SourceNodes.Add(source); } Nodes.Clear(); foreach (Node node in _circuit.GetNodes()) { Nodes.Add(node); } ProbeNodes.Clear(); foreach (Node node in _nodes.Where(n => n.TypeName == "PROBE").ToList()) { ProbeNodes.Add(node); } }
/// <summary> /// Gets the random arguments. /// </summary> /// <returns></returns> protected override StopTimeInfo[] GetRandomArguments() { var sourceNode = SourceNodes.GetRandomElement(); var randomPath = new List <StopTimeInfo> { sourceNode.Data }; var currentNode = sourceNode; while (currentNode.Data.StopDto.Name.TrimToLower() != Destination.Name.TrimToLower()) { var randomNeighborNode = GetRandomNeighborNodeExceptExisting(currentNode, randomPath.ToArray()); if (randomNeighborNode == null) { break; } randomPath.Add(randomNeighborNode.Data); currentNode = randomNeighborNode; } return(randomPath.ToArray()); }
public InputOutputMap AddSourceNode(ISourceNode source) { SourceNodes.Add(source); return(this); }