public void RepositoryOwner_Repositories_Query()
        {
            var expression = new Query()
                             .RepositoryOwner(login: "******")
                             .Repositories(first: 30)
                             .Edges
                             .Select(x => x.Node)
                             .Select(x => new
            {
                x.Id,
                x.Name,
                Owner = x.Owner.Select(o => new
                {
                    o.Login
                }),
                x.IsFork,
                x.IsPrivate,
            });

            string data   = @"{
  ""data"": {
    ""repositoryOwner"": {
      ""repositories"": {
        ""edges"": [
          {
            ""node"": {
              ""id"": ""1234"",
              ""name"": ""Octokit.GraphQL.Core"",
              ""owner"": {
                ""login"": ""grokys""
              },
              ""isFork"": false,
              ""isPrivate"": false
            }
          },
          {
            ""node"": {
              ""id"": ""2345"",
              ""name"": ""Avalonia"",
              ""owner"": {
                ""login"": ""grokys""
              },
              ""isFork"": true,
              ""isPrivate"": false
            }
          }
        ]
      }
    }
  }
}";
            var    query  = new QueryBuilder().Build(expression);
            var    result = new ResponseDeserializer().Deserialize(query, data).ToList();

            var item = result.ElementAt(0);

            Assert.Equal("1234", item.Id);
            Assert.Equal("Octokit.GraphQL.Core", item.Name);
            Assert.Equal("grokys", Queryable.Single(item.Owner).Login);
            Assert.False(item.IsFork);
            Assert.False(item.IsPrivate);

            item = result.ElementAt(1);
            Assert.Equal("2345", item.Id);
            Assert.Equal("Avalonia", item.Name);
            Assert.Equal("grokys", Queryable.Single(item.Owner).Login);
            Assert.True(item.IsFork);
            Assert.False(item.IsPrivate);
        }