public void TestRecursiveModel() { var exampleUserContact1 = new MyUserModel.UserContact() { user = new MyUserModel() { bestFriend = new MyUserModel.UserContact() } }; var schemaGenerator = new ModelToJsonSchema(); JsonSchema schema = schemaGenerator.ToJsonSchema("UserContact", exampleUserContact1); var bestFriendSchema = schema.properties["user"].properties["bestFriend"]; Assert.Equal("" + typeof(MyUserModel.UserContact), bestFriendSchema.modelType); }
public void TestNullObjectResolved() { { var user = new MyUserModel.UserContact(); var schemaGenerator = new ModelToJsonSchema(); JsonSchema schema = schemaGenerator.ToJsonSchema("UserContact", user); Assert.Null(user.user); // The model field is null Assert.NotEmpty(schema.properties["user"].properties); // The schema info is still defined } { var schemaGenerator = new ModelToJsonSchema(); var schema = schemaGenerator.ToJsonSchema("UserContact", typeof(MyUserModel.UserContact)); Assert.NotEmpty(schema.properties["user"].properties); // The schema info is still defined } }