public void SchemaTypes()
{
// TODO: Use Test.DeepEquals once we get all the primitive type noise sorted out
var gql = MemContext.CreateDefaultContext();
var schema = (IDictionary<string, object>) gql.ExecuteQuery("{ __schema { types { name, kind, interfaces { name } } } }")["__schema"];
var types = (List<IDictionary<string, object>>) schema["types"];
var intType = types.First(t => (string) t["name"] == "Int");
Assert.AreEqual(intType["name"], "Int");
Assert.AreEqual(intType["kind"].ToString(), "SCALAR");
Assert.IsNull(intType["interfaces"]);
var userType = types.First(t => (string) t["name"] == "User");
Assert.AreEqual(userType["name"], "User");
Assert.AreEqual(userType["kind"].ToString(), "OBJECT");
Assert.AreEqual(((List<IDictionary<string, object>>)userType["interfaces"]).Count, 0);
}