public Set DispatchSet(ExpressionNode node, List <Object> parameters) { return(node switch { SetExpression e => _setHelper.SetExpression(e, parameters), UnionExpression e => _setHelper.UnionSet(e, parameters), IntersectionExpression e => _setHelper.IntersectionSet(e, parameters), SubtractionExpression e => _setHelper.SubtractionSet(e, parameters), IdentifierExpression e => _genericHelper.Identifier <Set>(e, parameters), FunctionCallExpression e => _genericHelper.FunctionCall <Set>(e, parameters), VerticesGraphField e => _setHelper.VerticesField(e, parameters), EdgesGraphField e => _setHelper.EdgesField(e, parameters), EmptySetLiteralExpression e => _setHelper.EmptySetLiteral(e, parameters), _ => throw new UnimplementedInterpreterException(node, "DispatctSet") });
public void EdgesField_EdgesGraphFieldAndListOfObjects_ReturnsCorrectResult() { IdentifierExpression identifier = new IdentifierExpression("test", 0, 0); EdgesGraphField input1 = new EdgesGraphField(identifier, 0, 0); List <Object> list = new List <Object>(); Set expected = new Set(new Element(1)); Graph graph = new Graph(null, expected, null, null); IInterpreterSet parent = Substitute.For <IInterpreterSet>(); parent.DispatchGraph(identifier, Arg.Any <List <object> >()).Returns(graph); SetHelper setHelper = SetUpHelper(parent); Set res = setHelper.EdgesField(input1, list); res.Should().BeEquivalentTo(expected); }
public Set EdgesField(EdgesGraphField node, List <Object> parameters) { Graph graph = _interpreter.DispatchGraph(node.Children[0], parameters); return(graph.Edges); }