public void NamedTypeFromNonNullList()
        {
            // arrange
            var namedType = new NamedTypeNode(null, new NameNode("Foo"));
            var listType  = new ListTypeNode(null,
                                             new NonNullTypeNode(null, namedType));
            var nonNullType = new NonNullTypeNode(null, listType);

            // act
            NamedTypeNode retrievedNamedType = nonNullType.NamedType();

            // assert
            Assert.Equal(namedType, retrievedNamedType);
        }
        public void InvalidTypeStructure()
        {
            // arrange
            var namedType = new NamedTypeNode(null, new NameNode("Foo"));
            var listType  = new ListTypeNode(null, new ListTypeNode(null,
                                                                    new NonNullTypeNode(null, namedType)));
            var nonNullType = new NonNullTypeNode(null, listType);

            // act
            Action a = () => nonNullType.NamedType();

            // assert
            Assert.Throws <NotSupportedException>(a);
        }