public void ListOfListValueResolver() { var innerList1 = new QueryListInputValue(new FakeSyntaxNode()); innerList1.ListItems.Add(new QueryScalarInputValue(new FakeSyntaxNode(), "15", ScalarValueType.Number)); innerList1.ListItems.Add(new QueryScalarInputValue(new FakeSyntaxNode(), "12", ScalarValueType.Number)); var innerList2 = new QueryListInputValue(new FakeSyntaxNode()); innerList2.ListItems.Add(new QueryScalarInputValue(new FakeSyntaxNode(), "30", ScalarValueType.Number)); innerList2.ListItems.Add(new QueryScalarInputValue(new FakeSyntaxNode(), "40", ScalarValueType.Number)); var outerList = new QueryListInputValue(new FakeSyntaxNode()); outerList.ListItems.Add(innerList1); outerList.ListItems.Add(innerList2); var typeExpression = GraphTypeExpression.FromDeclaration("[[Int]]"); var generator = new InputResolverMethodGenerator(this.CreateSchema()); var resolver = generator.CreateResolver(typeExpression); var result = resolver.Resolve(outerList) as IEnumerable; CollectionAssert.AreEqual(new List <IEnumerable <int> > { new List <int> { 15, 12 }, new List <int> { 30, 40 } }, result); }
public void BasicListValueResolver() { var sourceList = new QueryListInputValue(new FakeSyntaxNode()); sourceList.ListItems.Add(new QueryScalarInputValue(new FakeSyntaxNode(), "15", ScalarValueType.Number)); sourceList.ListItems.Add(new QueryScalarInputValue(new FakeSyntaxNode(), "12", ScalarValueType.Number)); var typeExpression = GraphTypeExpression.FromDeclaration("[Int]"); var generator = new InputResolverMethodGenerator(this.CreateSchema()); var resolver = generator.CreateResolver(typeExpression); var result = resolver.Resolve(sourceList) as IEnumerable; CollectionAssert.AreEqual(new List <int> { 15, 12 }, result); }