diff --git a/base/schema-objective-c/test/inputs/schema/min-max-items.schema/default/QTTopLevel.m b/head/schema-objective-c/test/inputs/schema/min-max-items.schema/default/QTTopLevel.m
index 70bb212..bddc43d 100644
--- a/base/schema-objective-c/test/inputs/schema/min-max-items.schema/default/QTTopLevel.m
+++ b/head/schema-objective-c/test/inputs/schema/min-max-items.schema/default/QTTopLevel.m
@@ -92,10 +92,15 @@ NSString *_Nullable QTTopLevelToJSON(QTTopLevel *topLevel, NSStringEncoding enco
 - (instancetype)initWithJSONDictionary:(NSDictionary *)dict
 {
     if (self = [super init]) {
+        if ([(NSArray *)dict[@"maxOnly"] count] > 3) return nil;
         if (![dict[@"maxOnly"] isKindOfClass:NSArray.class]) return nil;
+        if (dict[@"minAndMax"] && [(NSArray *)dict[@"minAndMax"] count] < 1) return nil;
+        if ([(NSArray *)dict[@"minAndMax"] count] > 4) return nil;
         if (![dict[@"minAndMax"] isKindOfClass:NSArray.class]) return nil;
+        if (dict[@"minOnly"] && [(NSArray *)dict[@"minOnly"] count] < 2) return nil;
         if (![dict[@"minOnly"] isKindOfClass:NSArray.class]) return nil;
         if (![dict[@"plain"] isKindOfClass:NSArray.class]) return nil;
+        if (dict[@"unionItems"] && [(NSArray *)dict[@"unionItems"] count] < 2) return nil;
         if (![dict[@"unionItems"] isKindOfClass:NSArray.class]) return nil;
         [self setValuesForKeysWithDictionary:dict];
     }
diff --git a/base/schema-objective-c/test/inputs/schema/vega-lite.schema/default/QTTopLevel.m b/head/schema-objective-c/test/inputs/schema/vega-lite.schema/default/QTTopLevel.m
index e06191e..d134a9a 100644
--- a/base/schema-objective-c/test/inputs/schema/vega-lite.schema/default/QTTopLevel.m
+++ b/head/schema-objective-c/test/inputs/schema/vega-lite.schema/default/QTTopLevel.m
@@ -3778,7 +3778,11 @@ NSString *_Nullable QTTopLevelToJSON(QTTopLevel *topLevel, NSStringEncoding enco
 - (instancetype)initWithJSONDictionary:(NSDictionary *)dict
 {
     if (self = [super init]) {
+        if (dict[@"divide"] && [(NSArray *)dict[@"divide"] count] < 1) return nil;
+        if (dict[@"extent"] && [(NSArray *)dict[@"extent"] count] < 2) return nil;
+        if ([(NSArray *)dict[@"extent"] count] > 2) return nil;
         if (dict[@"maxbins"] && [dict[@"maxbins"] doubleValue] < 2) return nil;
+        if (dict[@"steps"] && [(NSArray *)dict[@"steps"] count] < 1) return nil;
         [self setValuesForKeysWithDictionary:dict];
     }
     return self;
@@ -3911,6 +3915,8 @@ NSString *_Nullable QTTopLevelToJSON(QTTopLevel *topLevel, NSStringEncoding enco
 - (instancetype)initWithJSONDictionary:(NSDictionary *)dict
 {
     if (self = [super init]) {
+        if (dict[@"range"] && [(NSArray *)dict[@"range"] count] < 2) return nil;
+        if ([(NSArray *)dict[@"range"] count] > 2) return nil;
         [self setValuesForKeysWithDictionary:dict];
         _timeUnit = [QTTimeUnit withValue:(id)_timeUnit];
         if (_timeUnit == nil && dict[@"timeUnit"] && ![dict[@"timeUnit"] isKindOfClass:NSNull.class]) return nil;
