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 VerticiesField_VerticesGraphFieldAndListOfObjects_ReturnsCorrectResult() { IdentifierExpression identifier = new IdentifierExpression("test", 0, 0); VerticesGraphField input1 = new VerticesGraphField(identifier, 0, 0); List <Object> list = new List <Object>(); Set expected = new Set(new Element(1)); Graph graph = new Graph(expected, null, null, null); IInterpreterSet parent = Substitute.For <IInterpreterSet>(); parent.DispatchGraph(identifier, Arg.Any <List <object> >()).Returns(graph); SetHelper setHelper = SetUpHelper(parent); Set res = setHelper.VerticesField(input1, list); res.Should().BeEquivalentTo(expected); }
public Set VerticesField(VerticesGraphField node, List <Object> parameters) { Graph graph = _interpreter.DispatchGraph(node.Children[0], parameters); return(graph.Vertices); }