Esempio n. 1
0
 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);
        }
Esempio n. 3
0
        public Set EdgesField(EdgesGraphField node, List <Object> parameters)
        {
            Graph graph = _interpreter.DispatchGraph(node.Children[0], parameters);

            return(graph.Edges);
        }