public override string ToString(ISituationPredicate <char> CurrentPredicate) { if (Items.Count == 1) { return(Items[0].ToString(CurrentPredicate)); } return($"({string.Join("|", Items.Select(item => item.ToString(CurrentPredicate)))})"); }
public bool Contains(ISituationPredicate <T> Predicate) { ISituationEdge <T> egde; egde = Nodes.SelectMany(item => item.Edges).FirstOrDefault(item => item.Predicate == Predicate); return(egde != null); }
public override string ToString(ISituationPredicate <char> CurrentPredicate) { if (CurrentPredicate == this) { return($"•![{FirstValue}-{LastValue}]"); } else { return($"![{FirstValue}-{LastValue}]"); } }
public override string ToString(ISituationPredicate <char> CurrentPredicate) { if (CurrentPredicate == this) { return("•¤"); } else { return("¤"); } }
public override string ToString(ISituationPredicate <char> CurrentPredicate) { if (CurrentPredicate == this) { return($"•!{Value}"); } else { return($"!{Value.ToString()}"); } }
public override string ToString(ISituationPredicate <Token> CurrentPredicate) { if (CurrentPredicate == this) { return($"•{Value}"); } else { return(Value.ToString()); } }
public override string ToString(ISituationPredicate <Token> CurrentPredicate) { if (CurrentPredicate == this) { return($"•<{Class}>"); } else { return($"<{Class}>"); } }
public override string ToString(ISituationPredicate <Token> CurrentPredicate) { if (CurrentPredicate == this) { return("•."); } else { return("."); } }
public override string ToString(ISituationPredicate <char> CurrentPredicate) { if (CurrentPredicate == this) { return($"•![{string.Join(",",Values)}]"); } else { return($"![{string.Join(",", Values)}]"); } }
public override string ToString(ISituationPredicate <char> CurrentPredicate) { if (CurrentPredicate == this) { return($"•{{{Name}}}"); } else { return($"{{{Name}}}"); } }
public Situation(IRule <T> Rule, ISituationPredicate <T> Predicate, IReduceInput <T> Input) { if (Rule == null) { throw (new ArgumentNullException("Rule")); } if (Predicate == null) { throw (new ArgumentNullException("Predicate")); } if (Input == null) { throw (new ArgumentNullException("Input")); } this.Rule = Rule; this.Predicate = Predicate; this.Input = Input; }
public SituationEdge(IRule <T> Rule, ISituationPredicate <T> Predicate, ISituationNode <T> TargetNode) { if (Rule == null) { throw new ArgumentNullException("Rule"); } if (Predicate == null) { throw new ArgumentNullException("Predicate"); } if (TargetNode == null) { throw new ArgumentNullException("TargetNode"); } this.Rule = Rule; this.Predicate = Predicate; this.TargetNode = TargetNode; }
public override string ToString(ISituationPredicate <Token> CurrentPredicate) { return($"{Item.ToString(CurrentPredicate)}?"); }
public string ToString(ISituationPredicate <char> CurrentPredicate) { return("Mocked"); }
public abstract string ToString(ISituationPredicate <char> CurrentPredicate);
public ISituationGraphSegment <T> BuildSegment(ISituationGraph <T> Graph, IRule <T> Rule, ISituationPredicate <T> Predicate, IEnumerable <ISituationEdge <T> > Edges) { SituationNode <T> node; SituationEdge <T> edge; SituationGraphSegment <T> segment; if (Graph == null) { throw new ArgumentNullException("Nodes"); } if (Rule == null) { throw new ArgumentNullException("Rule"); } if (Predicate == null) { throw new ArgumentNullException("Predicate"); } if (Edges == null) { throw new ArgumentNullException("Edges"); } node = CreateNode(Graph); Connect(node.AsEnumerable(), Edges); edge = CreateEdgeTo(node, Rule, Predicate); segment = new SituationGraphSegment <T>(); segment.OutputNodes = node.AsEnumerable(); segment.InputEdges = edge.AsEnumerable(); return(segment); }
private SituationEdge <T> CreateEdgeTo(SituationNode <T> Node, IRule <T> Rule, ISituationPredicate <T> Predicate) { SituationEdge <T> edge; edge = new SituationEdge <T>(Rule, Predicate, Node); return(edge); }
private ISituationEdge <T> GetEdge(ISituationPredicate <T> Predicate) { return(graph.Nodes.SelectMany(item => item.Edges).FirstOrDefault(item => item.Predicate == Predicate)); }