Lines Matching refs:Val

64 	{"float - none - valid", &cases.FloatNone{Val: -1.23456}, true},
66 {"float - const - valid", &cases.FloatConst{Val: 1.23}, true},
67 {"float - const - invalid", &cases.FloatConst{Val: 4.56}, false},
69 {"float - in - valid", &cases.FloatIn{Val: 7.89}, true},
70 {"float - in - invalid", &cases.FloatIn{Val: 10.11}, false},
72 {"float - not in - valid", &cases.FloatNotIn{Val: 1}, true},
73 {"float - not in - invalid", &cases.FloatNotIn{Val: 0}, false},
75 {"float - lt - valid", &cases.FloatLT{Val: -1}, true},
76 {"float - lt - invalid (equal)", &cases.FloatLT{Val: 0}, false},
77 {"float - lt - invalid", &cases.FloatLT{Val: 1}, false},
79 {"float - lte - valid", &cases.FloatLTE{Val: 63}, true},
80 {"float - lte - valid (equal)", &cases.FloatLTE{Val: 64}, true},
81 {"float - lte - invalid", &cases.FloatLTE{Val: 65}, false},
83 {"float - gt - valid", &cases.FloatGT{Val: 17}, true},
84 {"float - gt - invalid (equal)", &cases.FloatGT{Val: 16}, false},
85 {"float - gt - invalid", &cases.FloatGT{Val: 15}, false},
87 {"float - gte - valid", &cases.FloatGTE{Val: 9}, true},
88 {"float - gte - valid (equal)", &cases.FloatGTE{Val: 8}, true},
89 {"float - gte - invalid", &cases.FloatGTE{Val: 7}, false},
91 {"float - gt & lt - valid", &cases.FloatGTLT{Val: 5}, true},
92 {"float - gt & lt - invalid (above)", &cases.FloatGTLT{Val: 11}, false},
93 {"float - gt & lt - invalid (below)", &cases.FloatGTLT{Val: -1}, false},
94 {"float - gt & lt - invalid (max)", &cases.FloatGTLT{Val: 10}, false},
95 {"float - gt & lt - invalid (min)", &cases.FloatGTLT{Val: 0}, false},
97 {"float - exclusive gt & lt - valid (above)", &cases.FloatExLTGT{Val: 11}, true},
98 {"float - exclusive gt & lt - valid (below)", &cases.FloatExLTGT{Val: -1}, true},
99 {"float - exclusive gt & lt - invalid", &cases.FloatExLTGT{Val: 5}, false},
100 {"float - exclusive gt & lt - invalid (max)", &cases.FloatExLTGT{Val: 10}, false},
101 {"float - exclusive gt & lt - invalid (min)", &cases.FloatExLTGT{Val: 0}, false},
103 {"float - gte & lte - valid", &cases.FloatGTELTE{Val: 200}, true},
104 {"float - gte & lte - valid (max)", &cases.FloatGTELTE{Val: 256}, true},
105 {"float - gte & lte - valid (min)", &cases.FloatGTELTE{Val: 128}, true},
106 {"float - gte & lte - invalid (above)", &cases.FloatGTELTE{Val: 300}, false},
107 {"float - gte & lte - invalid (below)", &cases.FloatGTELTE{Val: 100}, false},
109 {"float - exclusive gte & lte - valid (above)", &cases.FloatExGTELTE{Val: 300}, true},
110 {"float - exclusive gte & lte - valid (below)", &cases.FloatExGTELTE{Val: 100}, true},
111 {"float - exclusive gte & lte - valid (max)", &cases.FloatExGTELTE{Val: 256}, true},
112 {"float - exclusive gte & lte - valid (min)", &cases.FloatExGTELTE{Val: 128}, true},
113 {"float - exclusive gte & lte - invalid", &cases.FloatExGTELTE{Val: 200}, false},
117 {"double - none - valid", &cases.DoubleNone{Val: -1.23456}, true},
119 {"double - const - valid", &cases.DoubleConst{Val: 1.23}, true},
120 {"double - const - invalid", &cases.DoubleConst{Val: 4.56}, false},
122 {"double - in - valid", &cases.DoubleIn{Val: 7.89}, true},
123 {"double - in - invalid", &cases.DoubleIn{Val: 10.11}, false},
125 {"double - not in - valid", &cases.DoubleNotIn{Val: 1}, true},
126 {"double - not in - invalid", &cases.DoubleNotIn{Val: 0}, false},
128 {"double - lt - valid", &cases.DoubleLT{Val: -1}, true},
129 {"double - lt - invalid (equal)", &cases.DoubleLT{Val: 0}, false},
130 {"double - lt - invalid", &cases.DoubleLT{Val: 1}, false},
132 {"double - lte - valid", &cases.DoubleLTE{Val: 63}, true},
133 {"double - lte - valid (equal)", &cases.DoubleLTE{Val: 64}, true},
134 {"double - lte - invalid", &cases.DoubleLTE{Val: 65}, false},
136 {"double - gt - valid", &cases.DoubleGT{Val: 17}, true},
137 {"double - gt - invalid (equal)", &cases.DoubleGT{Val: 16}, false},
138 {"double - gt - invalid", &cases.DoubleGT{Val: 15}, false},
140 {"double - gte - valid", &cases.DoubleGTE{Val: 9}, true},
141 {"double - gte - valid (equal)", &cases.DoubleGTE{Val: 8}, true},
142 {"double - gte - invalid", &cases.DoubleGTE{Val: 7}, false},
144 {"double - gt & lt - valid", &cases.DoubleGTLT{Val: 5}, true},
145 {"double - gt & lt - invalid (above)", &cases.DoubleGTLT{Val: 11}, false},
146 {"double - gt & lt - invalid (below)", &cases.DoubleGTLT{Val: -1}, false},
147 {"double - gt & lt - invalid (max)", &cases.DoubleGTLT{Val: 10}, false},
148 {"double - gt & lt - invalid (min)", &cases.DoubleGTLT{Val: 0}, false},
150 {"double - exclusive gt & lt - valid (above)", &cases.DoubleExLTGT{Val: 11}, true},
151 {"double - exclusive gt & lt - valid (below)", &cases.DoubleExLTGT{Val: -1}, true},
152 {"double - exclusive gt & lt - invalid", &cases.DoubleExLTGT{Val: 5}, false},
153 {"double - exclusive gt & lt - invalid (max)", &cases.DoubleExLTGT{Val: 10}, false},
154 {"double - exclusive gt & lt - invalid (min)", &cases.DoubleExLTGT{Val: 0}, false},
156 {"double - gte & lte - valid", &cases.DoubleGTELTE{Val: 200}, true},
157 {"double - gte & lte - valid (max)", &cases.DoubleGTELTE{Val: 256}, true},
158 {"double - gte & lte - valid (min)", &cases.DoubleGTELTE{Val: 128}, true},
159 {"double - gte & lte - invalid (above)", &cases.DoubleGTELTE{Val: 300}, false},
160 {"double - gte & lte - invalid (below)", &cases.DoubleGTELTE{Val: 100}, false},
162 {"double - exclusive gte & lte - valid (above)", &cases.DoubleExGTELTE{Val: 300}, true},
163 {"double - exclusive gte & lte - valid (below)", &cases.DoubleExGTELTE{Val: 100}, true},
164 {"double - exclusive gte & lte - valid (max)", &cases.DoubleExGTELTE{Val: 256}, true},
165 {"double - exclusive gte & lte - valid (min)", &cases.DoubleExGTELTE{Val: 128}, true},
166 {"double - exclusive gte & lte - invalid", &cases.DoubleExGTELTE{Val: 200}, false},
170 {"int32 - none - valid", &cases.Int32None{Val: 123}, true},
172 {"int32 - const - valid", &cases.Int32Const{Val: 1}, true},
173 {"int32 - const - invalid", &cases.Int32Const{Val: 2}, false},
175 {"int32 - in - valid", &cases.Int32In{Val: 3}, true},
176 {"int32 - in - invalid", &cases.Int32In{Val: 5}, false},
178 {"int32 - not in - valid", &cases.Int32NotIn{Val: 1}, true},
179 {"int32 - not in - invalid", &cases.Int32NotIn{Val: 0}, false},
181 {"int32 - lt - valid", &cases.Int32LT{Val: -1}, true},
182 {"int32 - lt - invalid (equal)", &cases.Int32LT{Val: 0}, false},
183 {"int32 - lt - invalid", &cases.Int32LT{Val: 1}, false},
185 {"int32 - lte - valid", &cases.Int32LTE{Val: 63}, true},
186 {"int32 - lte - valid (equal)", &cases.Int32LTE{Val: 64}, true},
187 {"int32 - lte - invalid", &cases.Int32LTE{Val: 65}, false},
189 {"int32 - gt - valid", &cases.Int32GT{Val: 17}, true},
190 {"int32 - gt - invalid (equal)", &cases.Int32GT{Val: 16}, false},
191 {"int32 - gt - invalid", &cases.Int32GT{Val: 15}, false},
193 {"int32 - gte - valid", &cases.Int32GTE{Val: 9}, true},
194 {"int32 - gte - valid (equal)", &cases.Int32GTE{Val: 8}, true},
195 {"int32 - gte - invalid", &cases.Int32GTE{Val: 7}, false},
197 {"int32 - gt & lt - valid", &cases.Int32GTLT{Val: 5}, true},
198 {"int32 - gt & lt - invalid (above)", &cases.Int32GTLT{Val: 11}, false},
199 {"int32 - gt & lt - invalid (below)", &cases.Int32GTLT{Val: -1}, false},
200 {"int32 - gt & lt - invalid (max)", &cases.Int32GTLT{Val: 10}, false},
201 {"int32 - gt & lt - invalid (min)", &cases.Int32GTLT{Val: 0}, false},
203 {"int32 - exclusive gt & lt - valid (above)", &cases.Int32ExLTGT{Val: 11}, true},
204 {"int32 - exclusive gt & lt - valid (below)", &cases.Int32ExLTGT{Val: -1}, true},
205 {"int32 - exclusive gt & lt - invalid", &cases.Int32ExLTGT{Val: 5}, false},
206 {"int32 - exclusive gt & lt - invalid (max)", &cases.Int32ExLTGT{Val: 10}, false},
207 {"int32 - exclusive gt & lt - invalid (min)", &cases.Int32ExLTGT{Val: 0}, false},
209 {"int32 - gte & lte - valid", &cases.Int32GTELTE{Val: 200}, true},
210 {"int32 - gte & lte - valid (max)", &cases.Int32GTELTE{Val: 256}, true},
211 {"int32 - gte & lte - valid (min)", &cases.Int32GTELTE{Val: 128}, true},
212 {"int32 - gte & lte - invalid (above)", &cases.Int32GTELTE{Val: 300}, false},
213 {"int32 - gte & lte - invalid (below)", &cases.Int32GTELTE{Val: 100}, false},
215 {"int32 - exclusive gte & lte - valid (above)", &cases.Int32ExGTELTE{Val: 300}, true},
216 {"int32 - exclusive gte & lte - valid (below)", &cases.Int32ExGTELTE{Val: 100}, true},
217 {"int32 - exclusive gte & lte - valid (max)", &cases.Int32ExGTELTE{Val: 256}, true},
218 {"int32 - exclusive gte & lte - valid (min)", &cases.Int32ExGTELTE{Val: 128}, true},
219 {"int32 - exclusive gte & lte - invalid", &cases.Int32ExGTELTE{Val: 200}, false},
223 {"int64 - none - valid", &cases.Int64None{Val: 123}, true},
225 {"int64 - const - valid", &cases.Int64Const{Val: 1}, true},
226 {"int64 - const - invalid", &cases.Int64Const{Val: 2}, false},
228 {"int64 - in - valid", &cases.Int64In{Val: 3}, true},
229 {"int64 - in - invalid", &cases.Int64In{Val: 5}, false},
231 {"int64 - not in - valid", &cases.Int64NotIn{Val: 1}, true},
232 {"int64 - not in - invalid", &cases.Int64NotIn{Val: 0}, false},
234 {"int64 - lt - valid", &cases.Int64LT{Val: -1}, true},
235 {"int64 - lt - invalid (equal)", &cases.Int64LT{Val: 0}, false},
236 {"int64 - lt - invalid", &cases.Int64LT{Val: 1}, false},
238 {"int64 - lte - valid", &cases.Int64LTE{Val: 63}, true},
239 {"int64 - lte - valid (equal)", &cases.Int64LTE{Val: 64}, true},
240 {"int64 - lte - invalid", &cases.Int64LTE{Val: 65}, false},
242 {"int64 - gt - valid", &cases.Int64GT{Val: 17}, true},
243 {"int64 - gt - invalid (equal)", &cases.Int64GT{Val: 16}, false},
244 {"int64 - gt - invalid", &cases.Int64GT{Val: 15}, false},
246 {"int64 - gte - valid", &cases.Int64GTE{Val: 9}, true},
247 {"int64 - gte - valid (equal)", &cases.Int64GTE{Val: 8}, true},
248 {"int64 - gte - invalid", &cases.Int64GTE{Val: 7}, false},
250 {"int64 - gt & lt - valid", &cases.Int64GTLT{Val: 5}, true},
251 {"int64 - gt & lt - invalid (above)", &cases.Int64GTLT{Val: 11}, false},
252 {"int64 - gt & lt - invalid (below)", &cases.Int64GTLT{Val: -1}, false},
253 {"int64 - gt & lt - invalid (max)", &cases.Int64GTLT{Val: 10}, false},
254 {"int64 - gt & lt - invalid (min)", &cases.Int64GTLT{Val: 0}, false},
256 {"int64 - exclusive gt & lt - valid (above)", &cases.Int64ExLTGT{Val: 11}, true},
257 {"int64 - exclusive gt & lt - valid (below)", &cases.Int64ExLTGT{Val: -1}, true},
258 {"int64 - exclusive gt & lt - invalid", &cases.Int64ExLTGT{Val: 5}, false},
259 {"int64 - exclusive gt & lt - invalid (max)", &cases.Int64ExLTGT{Val: 10}, false},
260 {"int64 - exclusive gt & lt - invalid (min)", &cases.Int64ExLTGT{Val: 0}, false},
262 {"int64 - gte & lte - valid", &cases.Int64GTELTE{Val: 200}, true},
263 {"int64 - gte & lte - valid (max)", &cases.Int64GTELTE{Val: 256}, true},
264 {"int64 - gte & lte - valid (min)", &cases.Int64GTELTE{Val: 128}, true},
265 {"int64 - gte & lte - invalid (above)", &cases.Int64GTELTE{Val: 300}, false},
266 {"int64 - gte & lte - invalid (below)", &cases.Int64GTELTE{Val: 100}, false},
268 {"int64 - exclusive gte & lte - valid (above)", &cases.Int64ExGTELTE{Val: 300}, true},
269 {"int64 - exclusive gte & lte - valid (below)", &cases.Int64ExGTELTE{Val: 100}, true},
270 {"int64 - exclusive gte & lte - valid (max)", &cases.Int64ExGTELTE{Val: 256}, true},
271 {"int64 - exclusive gte & lte - valid (min)", &cases.Int64ExGTELTE{Val: 128}, true},
272 {"int64 - exclusive gte & lte - invalid", &cases.Int64ExGTELTE{Val: 200}, false},
276 {"uint32 - none - valid", &cases.UInt32None{Val: 123}, true},
278 {"uint32 - const - valid", &cases.UInt32Const{Val: 1}, true},
279 {"uint32 - const - invalid", &cases.UInt32Const{Val: 2}, false},
281 {"uint32 - in - valid", &cases.UInt32In{Val: 3}, true},
282 {"uint32 - in - invalid", &cases.UInt32In{Val: 5}, false},
284 {"uint32 - not in - valid", &cases.UInt32NotIn{Val: 1}, true},
285 {"uint32 - not in - invalid", &cases.UInt32NotIn{Val: 0}, false},
287 {"uint32 - lt - valid", &cases.UInt32LT{Val: 4}, true},
288 {"uint32 - lt - invalid (equal)", &cases.UInt32LT{Val: 5}, false},
289 {"uint32 - lt - invalid", &cases.UInt32LT{Val: 6}, false},
291 {"uint32 - lte - valid", &cases.UInt32LTE{Val: 63}, true},
292 {"uint32 - lte - valid (equal)", &cases.UInt32LTE{Val: 64}, true},
293 {"uint32 - lte - invalid", &cases.UInt32LTE{Val: 65}, false},
295 {"uint32 - gt - valid", &cases.UInt32GT{Val: 17}, true},
296 {"uint32 - gt - invalid (equal)", &cases.UInt32GT{Val: 16}, false},
297 {"uint32 - gt - invalid", &cases.UInt32GT{Val: 15}, false},
299 {"uint32 - gte - valid", &cases.UInt32GTE{Val: 9}, true},
300 {"uint32 - gte - valid (equal)", &cases.UInt32GTE{Val: 8}, true},
301 {"uint32 - gte - invalid", &cases.UInt32GTE{Val: 7}, false},
303 {"uint32 - gt & lt - valid", &cases.UInt32GTLT{Val: 7}, true},
304 {"uint32 - gt & lt - invalid (above)", &cases.UInt32GTLT{Val: 11}, false},
305 {"uint32 - gt & lt - invalid (below)", &cases.UInt32GTLT{Val: 1}, false},
306 {"uint32 - gt & lt - invalid (max)", &cases.UInt32GTLT{Val: 10}, false},
307 {"uint32 - gt & lt - invalid (min)", &cases.UInt32GTLT{Val: 5}, false},
309 {"uint32 - exclusive gt & lt - valid (above)", &cases.UInt32ExLTGT{Val: 11}, true},
310 {"uint32 - exclusive gt & lt - valid (below)", &cases.UInt32ExLTGT{Val: 4}, true},
311 {"uint32 - exclusive gt & lt - invalid", &cases.UInt32ExLTGT{Val: 7}, false},
312 {"uint32 - exclusive gt & lt - invalid (max)", &cases.UInt32ExLTGT{Val: 10}, false},
313 {"uint32 - exclusive gt & lt - invalid (min)", &cases.UInt32ExLTGT{Val: 5}, false},
315 {"uint32 - gte & lte - valid", &cases.UInt32GTELTE{Val: 200}, true},
316 {"uint32 - gte & lte - valid (max)", &cases.UInt32GTELTE{Val: 256}, true},
317 {"uint32 - gte & lte - valid (min)", &cases.UInt32GTELTE{Val: 128}, true},
318 {"uint32 - gte & lte - invalid (above)", &cases.UInt32GTELTE{Val: 300}, false},
319 {"uint32 - gte & lte - invalid (below)", &cases.UInt32GTELTE{Val: 100}, false},
321 {"uint32 - exclusive gte & lte - valid (above)", &cases.UInt32ExGTELTE{Val: 300}, true},
322 {"uint32 - exclusive gte & lte - valid (below)", &cases.UInt32ExGTELTE{Val: 100}, true},
323 {"uint32 - exclusive gte & lte - valid (max)", &cases.UInt32ExGTELTE{Val: 256}, true},
324 {"uint32 - exclusive gte & lte - valid (min)", &cases.UInt32ExGTELTE{Val: 128}, true},
325 {"uint32 - exclusive gte & lte - invalid", &cases.UInt32ExGTELTE{Val: 200}, false},
329 {"uint64 - none - valid", &cases.UInt64None{Val: 123}, true},
331 {"uint64 - const - valid", &cases.UInt64Const{Val: 1}, true},
332 {"uint64 - const - invalid", &cases.UInt64Const{Val: 2}, false},
334 {"uint64 - in - valid", &cases.UInt64In{Val: 3}, true},
335 {"uint64 - in - invalid", &cases.UInt64In{Val: 5}, false},
337 {"uint64 - not in - valid", &cases.UInt64NotIn{Val: 1}, true},
338 {"uint64 - not in - invalid", &cases.UInt64NotIn{Val: 0}, false},
340 {"uint64 - lt - valid", &cases.UInt64LT{Val: 4}, true},
341 {"uint64 - lt - invalid (equal)", &cases.UInt64LT{Val: 5}, false},
342 {"uint64 - lt - invalid", &cases.UInt64LT{Val: 6}, false},
344 {"uint64 - lte - valid", &cases.UInt64LTE{Val: 63}, true},
345 {"uint64 - lte - valid (equal)", &cases.UInt64LTE{Val: 64}, true},
346 {"uint64 - lte - invalid", &cases.UInt64LTE{Val: 65}, false},
348 {"uint64 - gt - valid", &cases.UInt64GT{Val: 17}, true},
349 {"uint64 - gt - invalid (equal)", &cases.UInt64GT{Val: 16}, false},
350 {"uint64 - gt - invalid", &cases.UInt64GT{Val: 15}, false},
352 {"uint64 - gte - valid", &cases.UInt64GTE{Val: 9}, true},
353 {"uint64 - gte - valid (equal)", &cases.UInt64GTE{Val: 8}, true},
354 {"uint64 - gte - invalid", &cases.UInt64GTE{Val: 7}, false},
356 {"uint64 - gt & lt - valid", &cases.UInt64GTLT{Val: 7}, true},
357 {"uint64 - gt & lt - invalid (above)", &cases.UInt64GTLT{Val: 11}, false},
358 {"uint64 - gt & lt - invalid (below)", &cases.UInt64GTLT{Val: 1}, false},
359 {"uint64 - gt & lt - invalid (max)", &cases.UInt64GTLT{Val: 10}, false},
360 {"uint64 - gt & lt - invalid (min)", &cases.UInt64GTLT{Val: 5}, false},
362 {"uint64 - exclusive gt & lt - valid (above)", &cases.UInt64ExLTGT{Val: 11}, true},
363 {"uint64 - exclusive gt & lt - valid (below)", &cases.UInt64ExLTGT{Val: 4}, true},
364 {"uint64 - exclusive gt & lt - invalid", &cases.UInt64ExLTGT{Val: 7}, false},
365 {"uint64 - exclusive gt & lt - invalid (max)", &cases.UInt64ExLTGT{Val: 10}, false},
366 {"uint64 - exclusive gt & lt - invalid (min)", &cases.UInt64ExLTGT{Val: 5}, false},
368 {"uint64 - gte & lte - valid", &cases.UInt64GTELTE{Val: 200}, true},
369 {"uint64 - gte & lte - valid (max)", &cases.UInt64GTELTE{Val: 256}, true},
370 {"uint64 - gte & lte - valid (min)", &cases.UInt64GTELTE{Val: 128}, true},
371 {"uint64 - gte & lte - invalid (above)", &cases.UInt64GTELTE{Val: 300}, false},
372 {"uint64 - gte & lte - invalid (below)", &cases.UInt64GTELTE{Val: 100}, false},
374 {"uint64 - exclusive gte & lte - valid (above)", &cases.UInt64ExGTELTE{Val: 300}, true},
375 {"uint64 - exclusive gte & lte - valid (below)", &cases.UInt64ExGTELTE{Val: 100}, true},
376 {"uint64 - exclusive gte & lte - valid (max)", &cases.UInt64ExGTELTE{Val: 256}, true},
377 {"uint64 - exclusive gte & lte - valid (min)", &cases.UInt64ExGTELTE{Val: 128}, true},
378 {"uint64 - exclusive gte & lte - invalid", &cases.UInt64ExGTELTE{Val: 200}, false},
382 {"sint32 - none - valid", &cases.SInt32None{Val: 123}, true},
384 {"sint32 - const - valid", &cases.SInt32Const{Val: 1}, true},
385 {"sint32 - const - invalid", &cases.SInt32Const{Val: 2}, false},
387 {"sint32 - in - valid", &cases.SInt32In{Val: 3}, true},
388 {"sint32 - in - invalid", &cases.SInt32In{Val: 5}, false},
390 {"sint32 - not in - valid", &cases.SInt32NotIn{Val: 1}, true},
391 {"sint32 - not in - invalid", &cases.SInt32NotIn{Val: 0}, false},
393 {"sint32 - lt - valid", &cases.SInt32LT{Val: -1}, true},
394 {"sint32 - lt - invalid (equal)", &cases.SInt32LT{Val: 0}, false},
395 {"sint32 - lt - invalid", &cases.SInt32LT{Val: 1}, false},
397 {"sint32 - lte - valid", &cases.SInt32LTE{Val: 63}, true},
398 {"sint32 - lte - valid (equal)", &cases.SInt32LTE{Val: 64}, true},
399 {"sint32 - lte - invalid", &cases.SInt32LTE{Val: 65}, false},
401 {"sint32 - gt - valid", &cases.SInt32GT{Val: 17}, true},
402 {"sint32 - gt - invalid (equal)", &cases.SInt32GT{Val: 16}, false},
403 {"sint32 - gt - invalid", &cases.SInt32GT{Val: 15}, false},
405 {"sint32 - gte - valid", &cases.SInt32GTE{Val: 9}, true},
406 {"sint32 - gte - valid (equal)", &cases.SInt32GTE{Val: 8}, true},
407 {"sint32 - gte - invalid", &cases.SInt32GTE{Val: 7}, false},
409 {"sint32 - gt & lt - valid", &cases.SInt32GTLT{Val: 5}, true},
410 {"sint32 - gt & lt - invalid (above)", &cases.SInt32GTLT{Val: 11}, false},
411 {"sint32 - gt & lt - invalid (below)", &cases.SInt32GTLT{Val: -1}, false},
412 {"sint32 - gt & lt - invalid (max)", &cases.SInt32GTLT{Val: 10}, false},
413 {"sint32 - gt & lt - invalid (min)", &cases.SInt32GTLT{Val: 0}, false},
415 {"sint32 - exclusive gt & lt - valid (above)", &cases.SInt32ExLTGT{Val: 11}, true},
416 {"sint32 - exclusive gt & lt - valid (below)", &cases.SInt32ExLTGT{Val: -1}, true},
417 {"sint32 - exclusive gt & lt - invalid", &cases.SInt32ExLTGT{Val: 5}, false},
418 {"sint32 - exclusive gt & lt - invalid (max)", &cases.SInt32ExLTGT{Val: 10}, false},
419 {"sint32 - exclusive gt & lt - invalid (min)", &cases.SInt32ExLTGT{Val: 0}, false},
421 {"sint32 - gte & lte - valid", &cases.SInt32GTELTE{Val: 200}, true},
422 {"sint32 - gte & lte - valid (max)", &cases.SInt32GTELTE{Val: 256}, true},
423 {"sint32 - gte & lte - valid (min)", &cases.SInt32GTELTE{Val: 128}, true},
424 {"sint32 - gte & lte - invalid (above)", &cases.SInt32GTELTE{Val: 300}, false},
425 {"sint32 - gte & lte - invalid (below)", &cases.SInt32GTELTE{Val: 100}, false},
427 {"sint32 - exclusive gte & lte - valid (above)", &cases.SInt32ExGTELTE{Val: 300}, true},
428 {"sint32 - exclusive gte & lte - valid (below)", &cases.SInt32ExGTELTE{Val: 100}, true},
429 {"sint32 - exclusive gte & lte - valid (max)", &cases.SInt32ExGTELTE{Val: 256}, true},
430 {"sint32 - exclusive gte & lte - valid (min)", &cases.SInt32ExGTELTE{Val: 128}, true},
431 {"sint32 - exclusive gte & lte - invalid", &cases.SInt32ExGTELTE{Val: 200}, false},
435 {"sint64 - none - valid", &cases.SInt64None{Val: 123}, true},
437 {"sint64 - const - valid", &cases.SInt64Const{Val: 1}, true},
438 {"sint64 - const - invalid", &cases.SInt64Const{Val: 2}, false},
440 {"sint64 - in - valid", &cases.SInt64In{Val: 3}, true},
441 {"sint64 - in - invalid", &cases.SInt64In{Val: 5}, false},
443 {"sint64 - not in - valid", &cases.SInt64NotIn{Val: 1}, true},
444 {"sint64 - not in - invalid", &cases.SInt64NotIn{Val: 0}, false},
446 {"sint64 - lt - valid", &cases.SInt64LT{Val: -1}, true},
447 {"sint64 - lt - invalid (equal)", &cases.SInt64LT{Val: 0}, false},
448 {"sint64 - lt - invalid", &cases.SInt64LT{Val: 1}, false},
450 {"sint64 - lte - valid", &cases.SInt64LTE{Val: 63}, true},
451 {"sint64 - lte - valid (equal)", &cases.SInt64LTE{Val: 64}, true},
452 {"sint64 - lte - invalid", &cases.SInt64LTE{Val: 65}, false},
454 {"sint64 - gt - valid", &cases.SInt64GT{Val: 17}, true},
455 {"sint64 - gt - invalid (equal)", &cases.SInt64GT{Val: 16}, false},
456 {"sint64 - gt - invalid", &cases.SInt64GT{Val: 15}, false},
458 {"sint64 - gte - valid", &cases.SInt64GTE{Val: 9}, true},
459 {"sint64 - gte - valid (equal)", &cases.SInt64GTE{Val: 8}, true},
460 {"sint64 - gte - invalid", &cases.SInt64GTE{Val: 7}, false},
462 {"sint64 - gt & lt - valid", &cases.SInt64GTLT{Val: 5}, true},
463 {"sint64 - gt & lt - invalid (above)", &cases.SInt64GTLT{Val: 11}, false},
464 {"sint64 - gt & lt - invalid (below)", &cases.SInt64GTLT{Val: -1}, false},
465 {"sint64 - gt & lt - invalid (max)", &cases.SInt64GTLT{Val: 10}, false},
466 {"sint64 - gt & lt - invalid (min)", &cases.SInt64GTLT{Val: 0}, false},
468 {"sint64 - exclusive gt & lt - valid (above)", &cases.SInt64ExLTGT{Val: 11}, true},
469 {"sint64 - exclusive gt & lt - valid (below)", &cases.SInt64ExLTGT{Val: -1}, true},
470 {"sint64 - exclusive gt & lt - invalid", &cases.SInt64ExLTGT{Val: 5}, false},
471 {"sint64 - exclusive gt & lt - invalid (max)", &cases.SInt64ExLTGT{Val: 10}, false},
472 {"sint64 - exclusive gt & lt - invalid (min)", &cases.SInt64ExLTGT{Val: 0}, false},
474 {"sint64 - gte & lte - valid", &cases.SInt64GTELTE{Val: 200}, true},
475 {"sint64 - gte & lte - valid (max)", &cases.SInt64GTELTE{Val: 256}, true},
476 {"sint64 - gte & lte - valid (min)", &cases.SInt64GTELTE{Val: 128}, true},
477 {"sint64 - gte & lte - invalid (above)", &cases.SInt64GTELTE{Val: 300}, false},
478 {"sint64 - gte & lte - invalid (below)", &cases.SInt64GTELTE{Val: 100}, false},
480 {"sint64 - exclusive gte & lte - valid (above)", &cases.SInt64ExGTELTE{Val: 300}, true},
481 {"sint64 - exclusive gte & lte - valid (below)", &cases.SInt64ExGTELTE{Val: 100}, true},
482 {"sint64 - exclusive gte & lte - valid (max)", &cases.SInt64ExGTELTE{Val: 256}, true},
483 {"sint64 - exclusive gte & lte - valid (min)", &cases.SInt64ExGTELTE{Val: 128}, true},
484 {"sint64 - exclusive gte & lte - invalid", &cases.SInt64ExGTELTE{Val: 200}, false},
488 {"fixed32 - none - valid", &cases.Fixed32None{Val: 123}, true},
490 {"fixed32 - const - valid", &cases.Fixed32Const{Val: 1}, true},
491 {"fixed32 - const - invalid", &cases.Fixed32Const{Val: 2}, false},
493 {"fixed32 - in - valid", &cases.Fixed32In{Val: 3}, true},
494 {"fixed32 - in - invalid", &cases.Fixed32In{Val: 5}, false},
496 {"fixed32 - not in - valid", &cases.Fixed32NotIn{Val: 1}, true},
497 {"fixed32 - not in - invalid", &cases.Fixed32NotIn{Val: 0}, false},
499 {"fixed32 - lt - valid", &cases.Fixed32LT{Val: 4}, true},
500 {"fixed32 - lt - invalid (equal)", &cases.Fixed32LT{Val: 5}, false},
501 {"fixed32 - lt - invalid", &cases.Fixed32LT{Val: 6}, false},
503 {"fixed32 - lte - valid", &cases.Fixed32LTE{Val: 63}, true},
504 {"fixed32 - lte - valid (equal)", &cases.Fixed32LTE{Val: 64}, true},
505 {"fixed32 - lte - invalid", &cases.Fixed32LTE{Val: 65}, false},
507 {"fixed32 - gt - valid", &cases.Fixed32GT{Val: 17}, true},
508 {"fixed32 - gt - invalid (equal)", &cases.Fixed32GT{Val: 16}, false},
509 {"fixed32 - gt - invalid", &cases.Fixed32GT{Val: 15}, false},
511 {"fixed32 - gte - valid", &cases.Fixed32GTE{Val: 9}, true},
512 {"fixed32 - gte - valid (equal)", &cases.Fixed32GTE{Val: 8}, true},
513 {"fixed32 - gte - invalid", &cases.Fixed32GTE{Val: 7}, false},
515 {"fixed32 - gt & lt - valid", &cases.Fixed32GTLT{Val: 7}, true},
516 {"fixed32 - gt & lt - invalid (above)", &cases.Fixed32GTLT{Val: 11}, false},
517 {"fixed32 - gt & lt - invalid (below)", &cases.Fixed32GTLT{Val: 1}, false},
518 {"fixed32 - gt & lt - invalid (max)", &cases.Fixed32GTLT{Val: 10}, false},
519 {"fixed32 - gt & lt - invalid (min)", &cases.Fixed32GTLT{Val: 5}, false},
521 {"fixed32 - exclusive gt & lt - valid (above)", &cases.Fixed32ExLTGT{Val: 11}, true},
522 {"fixed32 - exclusive gt & lt - valid (below)", &cases.Fixed32ExLTGT{Val: 4}, true},
523 {"fixed32 - exclusive gt & lt - invalid", &cases.Fixed32ExLTGT{Val: 7}, false},
524 {"fixed32 - exclusive gt & lt - invalid (max)", &cases.Fixed32ExLTGT{Val: 10}, false},
525 {"fixed32 - exclusive gt & lt - invalid (min)", &cases.Fixed32ExLTGT{Val: 5}, false},
527 {"fixed32 - gte & lte - valid", &cases.Fixed32GTELTE{Val: 200}, true},
528 {"fixed32 - gte & lte - valid (max)", &cases.Fixed32GTELTE{Val: 256}, true},
529 {"fixed32 - gte & lte - valid (min)", &cases.Fixed32GTELTE{Val: 128}, true},
530 {"fixed32 - gte & lte - invalid (above)", &cases.Fixed32GTELTE{Val: 300}, false},
531 {"fixed32 - gte & lte - invalid (below)", &cases.Fixed32GTELTE{Val: 100}, false},
533 {"fixed32 - exclusive gte & lte - valid (above)", &cases.Fixed32ExGTELTE{Val: 300}, true},
534 {"fixed32 - exclusive gte & lte - valid (below)", &cases.Fixed32ExGTELTE{Val: 100}, true},
535 {"fixed32 - exclusive gte & lte - valid (max)", &cases.Fixed32ExGTELTE{Val: 256}, true},
536 {"fixed32 - exclusive gte & lte - valid (min)", &cases.Fixed32ExGTELTE{Val: 128}, true},
537 {"fixed32 - exclusive gte & lte - invalid", &cases.Fixed32ExGTELTE{Val: 200}, false},
541 {"fixed64 - none - valid", &cases.Fixed64None{Val: 123}, true},
543 {"fixed64 - const - valid", &cases.Fixed64Const{Val: 1}, true},
544 {"fixed64 - const - invalid", &cases.Fixed64Const{Val: 2}, false},
546 {"fixed64 - in - valid", &cases.Fixed64In{Val: 3}, true},
547 {"fixed64 - in - invalid", &cases.Fixed64In{Val: 5}, false},
549 {"fixed64 - not in - valid", &cases.Fixed64NotIn{Val: 1}, true},
550 {"fixed64 - not in - invalid", &cases.Fixed64NotIn{Val: 0}, false},
552 {"fixed64 - lt - valid", &cases.Fixed64LT{Val: 4}, true},
553 {"fixed64 - lt - invalid (equal)", &cases.Fixed64LT{Val: 5}, false},
554 {"fixed64 - lt - invalid", &cases.Fixed64LT{Val: 6}, false},
556 {"fixed64 - lte - valid", &cases.Fixed64LTE{Val: 63}, true},
557 {"fixed64 - lte - valid (equal)", &cases.Fixed64LTE{Val: 64}, true},
558 {"fixed64 - lte - invalid", &cases.Fixed64LTE{Val: 65}, false},
560 {"fixed64 - gt - valid", &cases.Fixed64GT{Val: 17}, true},
561 {"fixed64 - gt - invalid (equal)", &cases.Fixed64GT{Val: 16}, false},
562 {"fixed64 - gt - invalid", &cases.Fixed64GT{Val: 15}, false},
564 {"fixed64 - gte - valid", &cases.Fixed64GTE{Val: 9}, true},
565 {"fixed64 - gte - valid (equal)", &cases.Fixed64GTE{Val: 8}, true},
566 {"fixed64 - gte - invalid", &cases.Fixed64GTE{Val: 7}, false},
568 {"fixed64 - gt & lt - valid", &cases.Fixed64GTLT{Val: 7}, true},
569 {"fixed64 - gt & lt - invalid (above)", &cases.Fixed64GTLT{Val: 11}, false},
570 {"fixed64 - gt & lt - invalid (below)", &cases.Fixed64GTLT{Val: 1}, false},
571 {"fixed64 - gt & lt - invalid (max)", &cases.Fixed64GTLT{Val: 10}, false},
572 {"fixed64 - gt & lt - invalid (min)", &cases.Fixed64GTLT{Val: 5}, false},
574 {"fixed64 - exclusive gt & lt - valid (above)", &cases.Fixed64ExLTGT{Val: 11}, true},
575 {"fixed64 - exclusive gt & lt - valid (below)", &cases.Fixed64ExLTGT{Val: 4}, true},
576 {"fixed64 - exclusive gt & lt - invalid", &cases.Fixed64ExLTGT{Val: 7}, false},
577 {"fixed64 - exclusive gt & lt - invalid (max)", &cases.Fixed64ExLTGT{Val: 10}, false},
578 {"fixed64 - exclusive gt & lt - invalid (min)", &cases.Fixed64ExLTGT{Val: 5}, false},
580 {"fixed64 - gte & lte - valid", &cases.Fixed64GTELTE{Val: 200}, true},
581 {"fixed64 - gte & lte - valid (max)", &cases.Fixed64GTELTE{Val: 256}, true},
582 {"fixed64 - gte & lte - valid (min)", &cases.Fixed64GTELTE{Val: 128}, true},
583 {"fixed64 - gte & lte - invalid (above)", &cases.Fixed64GTELTE{Val: 300}, false},
584 {"fixed64 - gte & lte - invalid (below)", &cases.Fixed64GTELTE{Val: 100}, false},
586 {"fixed64 - exclusive gte & lte - valid (above)", &cases.Fixed64ExGTELTE{Val: 300}, true},
587 {"fixed64 - exclusive gte & lte - valid (below)", &cases.Fixed64ExGTELTE{Val: 100}, true},
588 {"fixed64 - exclusive gte & lte - valid (max)", &cases.Fixed64ExGTELTE{Val: 256}, true},
589 {"fixed64 - exclusive gte & lte - valid (min)", &cases.Fixed64ExGTELTE{Val: 128}, true},
590 {"fixed64 - exclusive gte & lte - invalid", &cases.Fixed64ExGTELTE{Val: 200}, false},
594 {"sfixed32 - none - valid", &cases.SFixed32None{Val: 123}, true},
596 {"sfixed32 - const - valid", &cases.SFixed32Const{Val: 1}, true},
597 {"sfixed32 - const - invalid", &cases.SFixed32Const{Val: 2}, false},
599 {"sfixed32 - in - valid", &cases.SFixed32In{Val: 3}, true},
600 {"sfixed32 - in - invalid", &cases.SFixed32In{Val: 5}, false},
602 {"sfixed32 - not in - valid", &cases.SFixed32NotIn{Val: 1}, true},
603 {"sfixed32 - not in - invalid", &cases.SFixed32NotIn{Val: 0}, false},
605 {"sfixed32 - lt - valid", &cases.SFixed32LT{Val: -1}, true},
606 {"sfixed32 - lt - invalid (equal)", &cases.SFixed32LT{Val: 0}, false},
607 {"sfixed32 - lt - invalid", &cases.SFixed32LT{Val: 1}, false},
609 {"sfixed32 - lte - valid", &cases.SFixed32LTE{Val: 63}, true},
610 {"sfixed32 - lte - valid (equal)", &cases.SFixed32LTE{Val: 64}, true},
611 {"sfixed32 - lte - invalid", &cases.SFixed32LTE{Val: 65}, false},
613 {"sfixed32 - gt - valid", &cases.SFixed32GT{Val: 17}, true},
614 {"sfixed32 - gt - invalid (equal)", &cases.SFixed32GT{Val: 16}, false},
615 {"sfixed32 - gt - invalid", &cases.SFixed32GT{Val: 15}, false},
617 {"sfixed32 - gte - valid", &cases.SFixed32GTE{Val: 9}, true},
618 {"sfixed32 - gte - valid (equal)", &cases.SFixed32GTE{Val: 8}, true},
619 {"sfixed32 - gte - invalid", &cases.SFixed32GTE{Val: 7}, false},
621 {"sfixed32 - gt & lt - valid", &cases.SFixed32GTLT{Val: 5}, true},
622 {"sfixed32 - gt & lt - invalid (above)", &cases.SFixed32GTLT{Val: 11}, false},
623 {"sfixed32 - gt & lt - invalid (below)", &cases.SFixed32GTLT{Val: -1}, false},
624 {"sfixed32 - gt & lt - invalid (max)", &cases.SFixed32GTLT{Val: 10}, false},
625 {"sfixed32 - gt & lt - invalid (min)", &cases.SFixed32GTLT{Val: 0}, false},
627 {"sfixed32 - exclusive gt & lt - valid (above)", &cases.SFixed32ExLTGT{Val: 11}, true},
628 {"sfixed32 - exclusive gt & lt - valid (below)", &cases.SFixed32ExLTGT{Val: -1}, true},
629 {"sfixed32 - exclusive gt & lt - invalid", &cases.SFixed32ExLTGT{Val: 5}, false},
630 {"sfixed32 - exclusive gt & lt - invalid (max)", &cases.SFixed32ExLTGT{Val: 10}, false},
631 {"sfixed32 - exclusive gt & lt - invalid (min)", &cases.SFixed32ExLTGT{Val: 0}, false},
633 {"sfixed32 - gte & lte - valid", &cases.SFixed32GTELTE{Val: 200}, true},
634 {"sfixed32 - gte & lte - valid (max)", &cases.SFixed32GTELTE{Val: 256}, true},
635 {"sfixed32 - gte & lte - valid (min)", &cases.SFixed32GTELTE{Val: 128}, true},
636 {"sfixed32 - gte & lte - invalid (above)", &cases.SFixed32GTELTE{Val: 300}, false},
637 {"sfixed32 - gte & lte - invalid (below)", &cases.SFixed32GTELTE{Val: 100}, false},
639 {"sfixed32 - exclusive gte & lte - valid (above)", &cases.SFixed32ExGTELTE{Val: 300}, true},
640 {"sfixed32 - exclusive gte & lte - valid (below)", &cases.SFixed32ExGTELTE{Val: 100}, true},
641 {"sfixed32 - exclusive gte & lte - valid (max)", &cases.SFixed32ExGTELTE{Val: 256}, true},
642 {"sfixed32 - exclusive gte & lte - valid (min)", &cases.SFixed32ExGTELTE{Val: 128}, true},
643 {"sfixed32 - exclusive gte & lte - invalid", &cases.SFixed32ExGTELTE{Val: 200}, false},
647 {"sfixed64 - none - valid", &cases.SFixed64None{Val: 123}, true},
649 {"sfixed64 - const - valid", &cases.SFixed64Const{Val: 1}, true},
650 {"sfixed64 - const - invalid", &cases.SFixed64Const{Val: 2}, false},
652 {"sfixed64 - in - valid", &cases.SFixed64In{Val: 3}, true},
653 {"sfixed64 - in - invalid", &cases.SFixed64In{Val: 5}, false},
655 {"sfixed64 - not in - valid", &cases.SFixed64NotIn{Val: 1}, true},
656 {"sfixed64 - not in - invalid", &cases.SFixed64NotIn{Val: 0}, false},
658 {"sfixed64 - lt - valid", &cases.SFixed64LT{Val: -1}, true},
659 {"sfixed64 - lt - invalid (equal)", &cases.SFixed64LT{Val: 0}, false},
660 {"sfixed64 - lt - invalid", &cases.SFixed64LT{Val: 1}, false},
662 {"sfixed64 - lte - valid", &cases.SFixed64LTE{Val: 63}, true},
663 {"sfixed64 - lte - valid (equal)", &cases.SFixed64LTE{Val: 64}, true},
664 {"sfixed64 - lte - invalid", &cases.SFixed64LTE{Val: 65}, false},
666 {"sfixed64 - gt - valid", &cases.SFixed64GT{Val: 17}, true},
667 {"sfixed64 - gt - invalid (equal)", &cases.SFixed64GT{Val: 16}, false},
668 {"sfixed64 - gt - invalid", &cases.SFixed64GT{Val: 15}, false},
670 {"sfixed64 - gte - valid", &cases.SFixed64GTE{Val: 9}, true},
671 {"sfixed64 - gte - valid (equal)", &cases.SFixed64GTE{Val: 8}, true},
672 {"sfixed64 - gte - invalid", &cases.SFixed64GTE{Val: 7}, false},
674 {"sfixed64 - gt & lt - valid", &cases.SFixed64GTLT{Val: 5}, true},
675 {"sfixed64 - gt & lt - invalid (above)", &cases.SFixed64GTLT{Val: 11}, false},
676 {"sfixed64 - gt & lt - invalid (below)", &cases.SFixed64GTLT{Val: -1}, false},
677 {"sfixed64 - gt & lt - invalid (max)", &cases.SFixed64GTLT{Val: 10}, false},
678 {"sfixed64 - gt & lt - invalid (min)", &cases.SFixed64GTLT{Val: 0}, false},
680 {"sfixed64 - exclusive gt & lt - valid (above)", &cases.SFixed64ExLTGT{Val: 11}, true},
681 {"sfixed64 - exclusive gt & lt - valid (below)", &cases.SFixed64ExLTGT{Val: -1}, true},
682 {"sfixed64 - exclusive gt & lt - invalid", &cases.SFixed64ExLTGT{Val: 5}, false},
683 {"sfixed64 - exclusive gt & lt - invalid (max)", &cases.SFixed64ExLTGT{Val: 10}, false},
684 {"sfixed64 - exclusive gt & lt - invalid (min)", &cases.SFixed64ExLTGT{Val: 0}, false},
686 {"sfixed64 - gte & lte - valid", &cases.SFixed64GTELTE{Val: 200}, true},
687 {"sfixed64 - gte & lte - valid (max)", &cases.SFixed64GTELTE{Val: 256}, true},
688 {"sfixed64 - gte & lte - valid (min)", &cases.SFixed64GTELTE{Val: 128}, true},
689 {"sfixed64 - gte & lte - invalid (above)", &cases.SFixed64GTELTE{Val: 300}, false},
690 {"sfixed64 - gte & lte - invalid (below)", &cases.SFixed64GTELTE{Val: 100}, false},
692 {"sfixed64 - exclusive gte & lte - valid (above)", &cases.SFixed64ExGTELTE{Val: 300}, true},
693 {"sfixed64 - exclusive gte & lte - valid (below)", &cases.SFixed64ExGTELTE{Val: 100}, true},
694 {"sfixed64 - exclusive gte & lte - valid (max)", &cases.SFixed64ExGTELTE{Val: 256}, true},
695 {"sfixed64 - exclusive gte & lte - valid (min)", &cases.SFixed64ExGTELTE{Val: 128}, true},
696 {"sfixed64 - exclusive gte & lte - invalid", &cases.SFixed64ExGTELTE{Val: 200}, false},
700 {"bool - none - valid", &cases.BoolNone{Val: true}, true},
701 {"bool - const (true) - valid", &cases.BoolConstTrue{Val: true}, true},
702 {"bool - const (true) - invalid", &cases.BoolConstTrue{Val: false}, false},
703 {"bool - const (false) - valid", &cases.BoolConstFalse{Val: false}, true},
704 {"bool - const (false) - invalid", &cases.BoolConstFalse{Val: true}, false},
708 {"string - none - valid", &cases.StringNone{Val: "quux"}, true},
710 {"string - const - valid", &cases.StringConst{Val: "foo"}, true},
711 {"string - const - invalid", &cases.StringConst{Val: "bar"}, false},
713 {"string - in - valid", &cases.StringIn{Val: "bar"}, true},
714 {"string - in - invalid", &cases.StringIn{Val: "quux"}, false},
715 {"string - not in - valid", &cases.StringNotIn{Val: "quux"}, true},
716 {"string - not in - invalid", &cases.StringNotIn{Val: "fizz"}, false},
718 {"string - len - valid", &cases.StringLen{Val: "baz"}, true},
719 {"string - len - valid (multibyte)", &cases.StringLen{Val: "你好吖"}, true},
720 {"string - len - invalid (lt)", &cases.StringLen{Val: "go"}, false},
721 {"string - len - invalid (gt)", &cases.StringLen{Val: "fizz"}, false},
722 {"string - len - invalid (multibyte)", &cases.StringLen{Val: "你好"}, false},
724 {"string - min len - valid", &cases.StringMinLen{Val: "protoc"}, true},
725 {"string - min len - valid (min)", &cases.StringMinLen{Val: "baz"}, true},
726 {"string - min len - invalid", &cases.StringMinLen{Val: "go"}, false},
727 {"string - min len - invalid (multibyte)", &cases.StringMinLen{Val: "你好"}, false},
729 {"string - max len - valid", &cases.StringMaxLen{Val: "foo"}, true},
730 {"string - max len - valid (max)", &cases.StringMaxLen{Val: "proto"}, true},
731 {"string - max len - valid (multibyte)", &cases.StringMaxLen{Val: "你好你好"}, true},
732 {"string - max len - invalid", &cases.StringMaxLen{Val: "1234567890"}, false},
734 {"string - min/max len - valid", &cases.StringMinMaxLen{Val: "quux"}, true},
735 {"string - min/max len - valid (min)", &cases.StringMinMaxLen{Val: "foo"}, true},
736 {"string - min/max len - valid (max)", &cases.StringMinMaxLen{Val: "proto"}, true},
737 {"string - min/max len - valid (multibyte)", &cases.StringMinMaxLen{Val: "你好你好"}, true},
738 {"string - min/max len - invalid (below)", &cases.StringMinMaxLen{Val: "go"}, false},
739 {"string - min/max len - invalid (above)", &cases.StringMinMaxLen{Val: "validate"}, false},
741 {"string - equal min/max len - valid", &cases.StringEqualMinMaxLen{Val: "proto"}, true},
742 {"string - equal min/max len - invalid", &cases.StringEqualMinMaxLen{Val: "validate"}, false},
744 {"string - len bytes - valid", &cases.StringLenBytes{Val: "pace"}, true},
745 {"string - len bytes - invalid (lt)", &cases.StringLenBytes{Val: "val"}, false},
746 {"string - len bytes - invalid (gt)", &cases.StringLenBytes{Val: "world"}, false},
747 {"string - len bytes - invalid (multibyte)", &cases.StringLenBytes{Val: "世界和平"}, false},
749 {"string - min bytes - valid", &cases.StringMinBytes{Val: "proto"}, true},
750 {"string - min bytes - valid (min)", &cases.StringMinBytes{Val: "quux"}, true},
751 {"string - min bytes - valid (multibyte)", &cases.StringMinBytes{Val: "你好"}, true},
752 {"string - min bytes - invalid", &cases.StringMinBytes{Val: ""}, false},
754 {"string - max bytes - valid", &cases.StringMaxBytes{Val: "foo"}, true},
755 {"string - max bytes - valid (max)", &cases.StringMaxBytes{Val: "12345678"}, true},
756 {"string - max bytes - invalid", &cases.StringMaxBytes{Val: "123456789"}, false},
757 {"string - max bytes - invalid (multibyte)", &cases.StringMaxBytes{Val: "你好你好你好"}, false},
759 {"string - min/max bytes - valid", &cases.StringMinMaxBytes{Val: "protoc"}, true},
760 {"string - min/max bytes - valid (min)", &cases.StringMinMaxBytes{Val: "quux"}, true},
761 {"string - min/max bytes - valid (max)", &cases.StringMinMaxBytes{Val: "fizzbuzz"}, true},
762 {"string - min/max bytes - valid (multibyte)", &cases.StringMinMaxBytes{Val: "你好"}, true},
763 {"string - min/max bytes - invalid (below)", &cases.StringMinMaxBytes{Val: "foo"}, false},
764 {"string - min/max bytes - invalid (above)", &cases.StringMinMaxBytes{Val: "你好你好你"}, false},
766 {"string - equal min/max bytes - valid", &cases.StringEqualMinMaxBytes{Val: "protoc"}, true},
767 {"string - equal min/max bytes - invalid", &cases.StringEqualMinMaxBytes{Val: "foo"}, false},
769 {"string - pattern - valid", &cases.StringPattern{Val: "Foo123"}, true},
770 {"string - pattern - invalid", &cases.StringPattern{Val: "!@#$%^&*()"}, false},
771 {"string - pattern - invalid (empty)", &cases.StringPattern{Val: ""}, false},
773 {"string - pattern (escapes) - valid", &cases.StringPatternEscapes{Val: "* \\ x"}, true},
774 {"string - pattern (escapes) - invalid", &cases.StringPatternEscapes{Val: "invalid"}, false},
775 {"string - pattern (escapes) - invalid (empty)", &cases.StringPatternEscapes{Val: ""}, false},
777 {"string - prefix - valid", &cases.StringPrefix{Val: "foobar"}, true},
778 {"string - prefix - valid (only)", &cases.StringPrefix{Val: "foo"}, true},
779 {"string - prefix - invalid", &cases.StringPrefix{Val: "bar"}, false},
780 {"string - prefix - invalid (case-sensitive)", &cases.StringPrefix{Val: "Foobar"}, false},
782 {"string - contains - valid", &cases.StringContains{Val: "candy bars"}, true},
783 {"string - contains - valid (only)", &cases.StringContains{Val: "bar"}, true},
784 {"string - contains - invalid", &cases.StringContains{Val: "candy bazs"}, false},
785 {"string - contains - invalid (case-sensitive)", &cases.StringContains{Val: "Candy Bars"}, false},
787 {"string - suffix - valid", &cases.StringSuffix{Val: "foobaz"}, true},
788 {"string - suffix - valid (only)", &cases.StringSuffix{Val: "baz"}, true},
789 {"string - suffix - invalid", &cases.StringSuffix{Val: "foobar"}, false},
790 {"string - suffix - invalid (case-sensitive)", &cases.StringSuffix{Val: "FooBaz"}, false},
792 {"string - email - valid", &cases.StringEmail{Val: "foo@bar.com"}, true},
793 {"string - email - valid (name)", &cases.StringEmail{Val: "John Smith <foo@bar.com>"}, true},
794 {"string - email - invalid", &cases.StringEmail{Val: "foobar"}, false},
795 …{"string - email - invalid (local segment too long)", &cases.StringEmail{Val: "x012345678901234567…
796 …{"string - email - invalid (hostname too long)", &cases.StringEmail{Val: "foo@x0123456789012345678…
797 {"string - email - invalid (bad hostname)", &cases.StringEmail{Val: "foo@-bar.com"}, false},
799 {"string - address - valid hostname", &cases.StringAddress{Val: "example.com"}, true},
800 …{"string - address - valid hostname (uppercase)", &cases.StringAddress{Val: "ASD.example.com"}, tr…
801 {"string - address - valid hostname (hyphens)", &cases.StringAddress{Val: "foo-bar.com"}, true},
802 …{"string - address - valid hostname (trailing dot)", &cases.StringAddress{Val: "example.com."}, tr…
803 {"string - address - invalid hostname", &cases.StringAddress{Val: "!@#$%^&"}, false},
804 …{"string - address - invalid hostname (underscore)", &cases.StringAddress{Val: "foo_bar.com"}, fal…
805 …{"string - address - invalid hostname (too long)", &cases.StringAddress{Val: "x0123456789012345678…
806 …{"string - address - invalid hostname (hyphens)", &cases.StringAddress{Val: "foo-bar-.com"}, false…
807 {"string - address - invalid hostname (empty)", &cases.StringAddress{Val: "asd..asd.com"}, false},
808 {"string - address - invalid hostname (IDNs)", &cases.StringAddress{Val: "你好.com"}, false},
809 {"string - address - valid ip (v4)", &cases.StringAddress{Val: "192.168.0.1"}, true},
810 {"string - address - valid ip (v6)", &cases.StringAddress{Val: "3e::99"}, true},
811 {"string - address - invalid ip", &cases.StringAddress{Val: "ff::fff::0b"}, false},
813 {"string - hostname - valid", &cases.StringHostname{Val: "example.com"}, true},
814 {"string - hostname - valid (uppercase)", &cases.StringHostname{Val: "ASD.example.com"}, true},
815 {"string - hostname - valid (hyphens)", &cases.StringHostname{Val: "foo-bar.com"}, true},
816 {"string - hostname - valid (trailing dot)", &cases.StringHostname{Val: "example.com."}, true},
817 {"string - hostname - invalid", &cases.StringHostname{Val: "!@#$%^&"}, false},
818 {"string - hostname - invalid (underscore)", &cases.StringHostname{Val: "foo_bar.com"}, false},
819 …{"string - hostname - invalid (too long)", &cases.StringHostname{Val: "x01234567890123456789012345…
820 {"string - hostname - invalid (hyphens)", &cases.StringHostname{Val: "foo-bar-.com"}, false},
821 {"string - hostname - invalid (empty)", &cases.StringHostname{Val: "asd..asd.com"}, false},
822 {"string - hostname - invalid (IDNs)", &cases.StringHostname{Val: "你好.com"}, false},
824 {"string - IP - valid (v4)", &cases.StringIP{Val: "192.168.0.1"}, true},
825 {"string - IP - valid (v6)", &cases.StringIP{Val: "3e::99"}, true},
826 {"string - IP - invalid", &cases.StringIP{Val: "foobar"}, false},
828 {"string - IPv4 - valid", &cases.StringIPv4{Val: "192.168.0.1"}, true},
829 {"string - IPv4 - invalid", &cases.StringIPv4{Val: "foobar"}, false},
830 {"string - IPv4 - invalid (erroneous)", &cases.StringIPv4{Val: "256.0.0.0"}, false},
831 {"string - IPv4 - invalid (v6)", &cases.StringIPv4{Val: "3e::99"}, false},
833 {"string - IPv6 - valid", &cases.StringIPv6{Val: "2001:0db8:85a3:0000:0000:8a2e:0370:7334"}, true},
834 …{"string - IPv6 - valid (collapsed)", &cases.StringIPv6{Val: "2001:db8:85a3::8a2e:370:7334"}, true…
835 {"string - IPv6 - invalid", &cases.StringIPv6{Val: "foobar"}, false},
836 {"string - IPv6 - invalid (v4)", &cases.StringIPv6{Val: "192.168.0.1"}, false},
837 {"string - IPv6 - invalid (erroneous)", &cases.StringIPv6{Val: "ff::fff::0b"}, false},
839 {"string - URI - valid", &cases.StringURI{Val: "http://example.com/foo/bar?baz=quux"}, true},
840 {"string - URI - invalid", &cases.StringURI{Val: "!@#$%^&*%$#"}, false},
841 {"string - URI - invalid (relative)", &cases.StringURI{Val: "/foo/bar?baz=quux"}, false},
843 {"string - URI - valid", &cases.StringURIRef{Val: "http://example.com/foo/bar?baz=quux"}, true},
844 {"string - URI - valid (relative)", &cases.StringURIRef{Val: "/foo/bar?baz=quux"}, true},
845 {"string - URI - invalid", &cases.StringURIRef{Val: "!@#$%^&*%$#"}, false},
849 {"bytes - none - valid", &cases.BytesNone{Val: []byte("quux")}, true},
851 {"bytes - const - valid", &cases.BytesConst{Val: []byte("foo")}, true},
852 {"bytes - const - invalid", &cases.BytesConst{Val: []byte("bar")}, false},
854 {"bytes - in - valid", &cases.BytesIn{Val: []byte("bar")}, true},
855 {"bytes - in - invalid", &cases.BytesIn{Val: []byte("quux")}, false},
856 {"bytes - not in - valid", &cases.BytesNotIn{Val: []byte("quux")}, true},
857 {"bytes - not in - invalid", &cases.BytesNotIn{Val: []byte("fizz")}, false},
859 {"bytes - len - valid", &cases.BytesLen{Val: []byte("baz")}, true},
860 {"bytes - len - invalid (lt)", &cases.BytesLen{Val: []byte("go")}, false},
861 {"bytes - len - invalid (gt)", &cases.BytesLen{Val: []byte("fizz")}, false},
863 {"bytes - min len - valid", &cases.BytesMinLen{Val: []byte("fizz")}, true},
864 {"bytes - min len - valid (min)", &cases.BytesMinLen{Val: []byte("baz")}, true},
865 {"bytes - min len - invalid", &cases.BytesMinLen{Val: []byte("go")}, false},
867 {"bytes - max len - valid", &cases.BytesMaxLen{Val: []byte("foo")}, true},
868 {"bytes - max len - valid (max)", &cases.BytesMaxLen{Val: []byte("proto")}, true},
869 {"bytes - max len - invalid", &cases.BytesMaxLen{Val: []byte("1234567890")}, false},
871 {"bytes - min/max len - valid", &cases.BytesMinMaxLen{Val: []byte("quux")}, true},
872 {"bytes - min/max len - valid (min)", &cases.BytesMinMaxLen{Val: []byte("foo")}, true},
873 {"bytes - min/max len - valid (max)", &cases.BytesMinMaxLen{Val: []byte("proto")}, true},
874 {"bytes - min/max len - invalid (below)", &cases.BytesMinMaxLen{Val: []byte("go")}, false},
875 {"bytes - min/max len - invalid (above)", &cases.BytesMinMaxLen{Val: []byte("validate")}, false},
877 {"bytes - equal min/max len - valid", &cases.BytesEqualMinMaxLen{Val: []byte("proto")}, true},
878 …{"bytes - equal min/max len - invalid", &cases.BytesEqualMinMaxLen{Val: []byte("validate")}, false…
880 {"bytes - pattern - valid", &cases.BytesPattern{Val: []byte("Foo123")}, true},
881 {"bytes - pattern - invalid", &cases.BytesPattern{Val: []byte("你好你好")}, false},
882 {"bytes - pattern - invalid (empty)", &cases.BytesPattern{Val: []byte("")}, false},
884 {"bytes - prefix - valid", &cases.BytesPrefix{Val: []byte{0x99, 0x9f, 0x08}}, true},
885 {"bytes - prefix - valid (only)", &cases.BytesPrefix{Val: []byte{0x99}}, true},
886 {"bytes - prefix - invalid", &cases.BytesPrefix{Val: []byte("bar")}, false},
888 {"bytes - contains - valid", &cases.BytesContains{Val: []byte("candy bars")}, true},
889 {"bytes - contains - valid (only)", &cases.BytesContains{Val: []byte("bar")}, true},
890 {"bytes - contains - invalid", &cases.BytesContains{Val: []byte("candy bazs")}, false},
892 {"bytes - suffix - valid", &cases.BytesSuffix{Val: []byte{0x62, 0x75, 0x7A, 0x7A}}, true},
893 {"bytes - suffix - valid (only)", &cases.BytesSuffix{Val: []byte("\x62\x75\x7A\x7A")}, true},
894 {"bytes - suffix - invalid", &cases.BytesSuffix{Val: []byte("foobar")}, false},
895 {"bytes - suffix - invalid (case-sensitive)", &cases.BytesSuffix{Val: []byte("FooBaz")}, false},
897 {"bytes - IP - valid (v4)", &cases.BytesIP{Val: []byte{0xC0, 0xA8, 0x00, 0x01}}, true},
898 …{"bytes - IP - valid (v6)", &cases.BytesIP{Val: []byte("\x20\x01\x0D\xB8\x85\xA3\x00\x00\x00\x00\x…
899 {"bytes - IP - invalid", &cases.BytesIP{Val: []byte("foobar")}, false},
901 {"bytes - IPv4 - valid", &cases.BytesIPv4{Val: []byte{0xC0, 0xA8, 0x00, 0x01}}, true},
902 {"bytes - IPv4 - invalid", &cases.BytesIPv4{Val: []byte("foobar")}, false},
903 …{"bytes - IPv4 - invalid (v6)", &cases.BytesIPv4{Val: []byte("\x20\x01\x0D\xB8\x85\xA3\x00\x00\x00…
905 …{"bytes - IPv6 - valid", &cases.BytesIPv6{Val: []byte("\x20\x01\x0D\xB8\x85\xA3\x00\x00\x00\x00\x8…
906 {"bytes - IPv6 - invalid", &cases.BytesIPv6{Val: []byte("fooar")}, false},
907 {"bytes - IPv6 - invalid (v4)", &cases.BytesIPv6{Val: []byte{0xC0, 0xA8, 0x00, 0x01}}, false},
911 {"enum - none - valid", &cases.EnumNone{Val: cases.TestEnum_ONE}, true},
913 {"enum - const - valid", &cases.EnumConst{Val: cases.TestEnum_TWO}, true},
914 {"enum - const - invalid", &cases.EnumConst{Val: cases.TestEnum_ONE}, false},
915 {"enum alias - const - valid", &cases.EnumAliasConst{Val: cases.TestEnumAlias_C}, true},
916 …{"enum alias - const - valid (alias)", &cases.EnumAliasConst{Val: cases.TestEnumAlias_GAMMA}, true…
917 {"enum alias - const - invalid", &cases.EnumAliasConst{Val: cases.TestEnumAlias_ALPHA}, false},
919 {"enum - defined_only - valid", &cases.EnumDefined{Val: 0}, true},
920 {"enum - defined_only - invalid", &cases.EnumDefined{Val: math.MaxInt32}, false},
921 {"enum alias - defined_only - valid", &cases.EnumAliasDefined{Val: 1}, true},
922 {"enum alias - defined_only - invalid", &cases.EnumAliasDefined{Val: math.MaxInt32}, false},
924 {"enum - in - valid", &cases.EnumIn{Val: cases.TestEnum_TWO}, true},
925 {"enum - in - invalid", &cases.EnumIn{Val: cases.TestEnum_ONE}, false},
926 {"enum alias - in - valid", &cases.EnumAliasIn{Val: cases.TestEnumAlias_A}, true},
927 {"enum alias - in - valid (alias)", &cases.EnumAliasIn{Val: cases.TestEnumAlias_ALPHA}, true},
928 {"enum alias - in - invalid", &cases.EnumAliasIn{Val: cases.TestEnumAlias_BETA}, false},
930 {"enum - not in - valid", &cases.EnumNotIn{Val: cases.TestEnum_ZERO}, true},
931 {"enum - not in - valid (undefined)", &cases.EnumNotIn{Val: math.MaxInt32}, true},
932 {"enum - not in - invalid", &cases.EnumNotIn{Val: cases.TestEnum_ONE}, false},
933 {"enum alias - not in - valid", &cases.EnumAliasNotIn{Val: cases.TestEnumAlias_ALPHA}, true},
934 {"enum alias - not in - invalid", &cases.EnumAliasNotIn{Val: cases.TestEnumAlias_B}, false},
935 …{"enum alias - not in - invalid (alias)", &cases.EnumAliasNotIn{Val: cases.TestEnumAlias_BETA}, fa…
937 …{"enum external - defined_only - valid", &cases.EnumExternal{Val: other_package.Embed_VALUE}, true…
938 {"enum external - defined_only - invalid", &cases.EnumExternal{Val: math.MaxInt32}, false},
940 …{"enum repeated - defined_only - valid", &cases.RepeatedEnumDefined{Val: []cases.TestEnum{cases.Te…
941 …{"enum repeated - defined_only - invalid", &cases.RepeatedEnumDefined{Val: []cases.TestEnum{cases.…
943 …{"enum repeated (external) - defined_only - valid", &cases.RepeatedExternalEnumDefined{Val: []othe…
944 …{"enum repeated (external) - defined_only - invalid", &cases.RepeatedExternalEnumDefined{Val: []ot…
946 …{"enum map - defined_only - valid", &cases.MapEnumDefined{Val: map[string]cases.TestEnum{"foo": ca…
947 …{"enum map - defined_only - invalid", &cases.MapEnumDefined{Val: map[string]cases.TestEnum{"foo": …
949 …{"enum map (external) - defined_only - valid", &cases.MapExternalEnumDefined{Val: map[string]other…
950 …{"enum map (external) - defined_only - invalid", &cases.MapExternalEnumDefined{Val: map[string]oth…
954 {"message - none - valid", &cases.MessageNone{Val: &cases.MessageNone_NoneMsg{}}, true},
957 {"message - disabled - valid", &cases.MessageDisabled{Val: 456}, true},
958 {"message - disabled - valid (invalid field)", &cases.MessageDisabled{Val: 0}, true},
960 {"message - field - valid", &cases.Message{Val: &cases.TestMsg{Const: "foo"}}, true},
962 {"message - field - invalid", &cases.Message{Val: &cases.TestMsg{}}, false},
963 …{"message - field - invalid (transitive)", &cases.Message{Val: &cases.TestMsg{Const: "foo", Nested…
965 {"message - skip - valid", &cases.MessageSkip{Val: &cases.TestMsg{}}, true},
967 {"message - required - valid", &cases.MessageRequired{Val: &cases.TestMsg{Const: "foo"}}, true},
970 …cross-package embed none - valid", &cases.MessageCrossPackage{Val: &other_package.Embed{Val: 1}}, …
972 …{"message - cross-package embed none - valid (empty)", &cases.MessageCrossPackage{Val: &other_pack…
973 …oss-package embed none - invalid", &cases.MessageCrossPackage{Val: &other_package.Embed{Val: -1}},…
977 {"repeated - none - valid", &cases.RepeatedNone{Val: []int64{1, 2, 3}}, true},
979 {"repeated - embed none - valid", &cases.RepeatedEmbedNone{Val: []*cases.Embed{{Val: 1}}}, true},
981 {"repeated - embed none - valid (empty)", &cases.RepeatedEmbedNone{Val: []*cases.Embed{}}, true},
982 …{"repeated - embed none - invalid", &cases.RepeatedEmbedNone{Val: []*cases.Embed{{Val: -1}}}, fals…
984 …e embed none - valid", &cases.RepeatedEmbedCrossPackageNone{Val: []*other_package.Embed{{Val: 1}}}…
986 …{"repeated - cross-package embed none - valid (empty)", &cases.RepeatedEmbedCrossPackageNone{Val: …
987 …embed none - invalid", &cases.RepeatedEmbedCrossPackageNone{Val: []*other_package.Embed{{Val: -1}}…
989 …{"repeated - min - valid", &cases.RepeatedMin{Val: []*cases.Embed{{Val: 1}, {Val: 2}, {Val: 3}}}, …
990 …{"repeated - min - valid (equal)", &cases.RepeatedMin{Val: []*cases.Embed{{Val: 1}, {Val: 2}}}, tr…
991 {"repeated - min - invalid", &cases.RepeatedMin{Val: []*cases.Embed{{Val: 1}}}, false},
992 …{"repeated - min - invalid (element)", &cases.RepeatedMin{Val: []*cases.Embed{{Val: 1}, {Val: -1}}…
994 {"repeated - max - valid", &cases.RepeatedMax{Val: []float64{1, 2}}, true},
995 {"repeated - max - valid (equal)", &cases.RepeatedMax{Val: []float64{1, 2, 3}}, true},
996 {"repeated - max - invalid", &cases.RepeatedMax{Val: []float64{1, 2, 3, 4}}, false},
998 {"repeated - min/max - valid", &cases.RepeatedMinMax{Val: []int32{1, 2, 3}}, true},
999 {"repeated - min/max - valid (min)", &cases.RepeatedMinMax{Val: []int32{1, 2}}, true},
1000 {"repeated - min/max - valid (max)", &cases.RepeatedMinMax{Val: []int32{1, 2, 3, 4}}, true},
1001 {"repeated - min/max - invalid (below)", &cases.RepeatedMinMax{Val: []int32{}}, false},
1002 …{"repeated - min/max - invalid (above)", &cases.RepeatedMinMax{Val: []int32{1, 2, 3, 4, 5}}, false…
1004 {"repeated - exact - valid", &cases.RepeatedExact{Val: []uint32{1, 2, 3}}, true},
1005 {"repeated - exact - invalid (below)", &cases.RepeatedExact{Val: []uint32{1, 2}}, false},
1006 {"repeated - exact - invalid (above)", &cases.RepeatedExact{Val: []uint32{1, 2, 3, 4}}, false},
1008 {"repeated - unique - valid", &cases.RepeatedUnique{Val: []string{"foo", "bar", "baz"}}, true},
1010 …{"repeated - unique - valid (case sensitivity)", &cases.RepeatedUnique{Val: []string{"foo", "Foo"}…
1011 …{"repeated - unique - invalid", &cases.RepeatedUnique{Val: []string{"foo", "bar", "foo", "baz"}}, …
1013 {"repeated - items - valid", &cases.RepeatedItemRule{Val: []float32{1, 2, 3}}, true},
1014 {"repeated - items - valid (empty)", &cases.RepeatedItemRule{Val: []float32{}}, true},
1015 …{"repeated - items - valid (pattern)", &cases.RepeatedItemPattern{Val: []string{"Alpha", "Beta123"…
1016 {"repeated - items - invalid", &cases.RepeatedItemRule{Val: []float32{1, -2, 3}}, false},
1017 …{"repeated - items - invalid (pattern)", &cases.RepeatedItemPattern{Val: []string{"Alpha", "!@#$%^…
1018 {"repeated - items - invalid (in)", &cases.RepeatedItemIn{Val: []string{"baz"}}, false},
1019 {"repeated - items - valid (in)", &cases.RepeatedItemIn{Val: []string{"foo"}}, true},
1020 {"repeated - items - invalid (not_in)", &cases.RepeatedItemNotIn{Val: []string{"foo"}}, false},
1021 {"repeated - items - valid (not_in)", &cases.RepeatedItemNotIn{Val: []string{"baz"}}, true},
1023 {"repeated - embed skip - valid", &cases.RepeatedEmbedSkip{Val: []*cases.Embed{{Val: 1}}}, true},
1024 …embed skip - valid (invalid element)", &cases.RepeatedEmbedSkip{Val: []*cases.Embed{{Val: -1}}}, t…
1025 …{"repeated - min and items len - valid", &cases.RepeatedMinAndItemLen{Val: []string{"aaa", "bbb"}}…
1026 …{"repeated - min and items len - invalid (min)", &cases.RepeatedMinAndItemLen{Val: []string{}}, fa…
1027 …{"repeated - min and items len - invalid (len)", &cases.RepeatedMinAndItemLen{Val: []string{"x"}},…
1031 {"map - none - valid", &cases.MapNone{Val: map[uint32]bool{123: true, 456: false}}, true},
1033 {"map - min pairs - valid", &cases.MapMin{Val: map[int32]float32{1: 2, 3: 4, 5: 6}}, true},
1034 {"map - min pairs - valid (equal)", &cases.MapMin{Val: map[int32]float32{1: 2, 3: 4}}, true},
1035 {"map - min pairs - invalid", &cases.MapMin{Val: map[int32]float32{1: 2}}, false},
1037 {"map - max pairs - valid", &cases.MapMax{Val: map[int64]float64{1: 2, 3: 4}}, true},
1038 {"map - max pairs - valid (equal)", &cases.MapMax{Val: map[int64]float64{1: 2, 3: 4, 5: 6}}, true},
1039 …{"map - max pairs - invalid", &cases.MapMax{Val: map[int64]float64{1: 2, 3: 4, 5: 6, 7: 8}}, false…
1041 …{"map - min/max - valid", &cases.MapMinMax{Val: map[string]bool{"a": true, "b": false, "c": true}}…
1042 …{"map - min/max - valid (min)", &cases.MapMinMax{Val: map[string]bool{"a": true, "b": false}}, tru…
1043 …{"map - min/max - valid (max)", &cases.MapMinMax{Val: map[string]bool{"a": true, "b": false, "c": …
1044 {"map - min/max - invalid (below)", &cases.MapMinMax{Val: map[string]bool{}}, false},
1045 …{"map - min/max - invalid (above)", &cases.MapMinMax{Val: map[string]bool{"a": true, "b": false, "…
1047 {"map - exact - valid", &cases.MapExact{Val: map[uint64]string{1: "a", 2: "b", 3: "c"}}, true},
1048 {"map - exact - invalid (below)", &cases.MapExact{Val: map[uint64]string{1: "a", 2: "b"}}, false},
1049 …{"map - exact - invalid (above)", &cases.MapExact{Val: map[uint64]string{1: "a", 2: "b", 3: "c", 4…
1051 …{"map - no sparse - valid", &cases.MapNoSparse{Val: map[uint32]*cases.MapNoSparse_Msg{1: {}, 2: {}…
1052 …{"map - no sparse - valid (empty)", &cases.MapNoSparse{Val: map[uint32]*cases.MapNoSparse_Msg{}}, …
1053 …{"map - no sparse - invalid", &cases.MapNoSparse{Val: map[uint32]*cases.MapNoSparse_Msg{1: {}, 2: …
1055 {"map - keys - valid", &cases.MapKeys{Val: map[int32]string{-1: "a", -2: "b"}}, true},
1056 {"map - keys - valid (empty)", &cases.MapKeys{Val: map[int32]string{}}, true},
1057 {"map - keys - valid (pattern)", &cases.MapKeysPattern{Val: map[string]string{"A": "a"}}, true},
1058 {"map - keys - invalid", &cases.MapKeys{Val: map[int32]string{1: "a"}}, false},
1059 …{"map - keys - invalid (pattern)", &cases.MapKeysPattern{Val: map[string]string{"A": "a", "!@#$%^&…
1061 …{"map - values - valid", &cases.MapValues{Val: map[string]string{"a": "Alpha", "b": "Beta"}}, true…
1062 {"map - values - valid (empty)", &cases.MapValues{Val: map[string]string{}}, true},
1063 …{"map - values - valid (pattern)", &cases.MapValuesPattern{Val: map[string]string{"a": "A"}}, true…
1064 {"map - values - invalid", &cases.MapValues{Val: map[string]string{"a": "A", "b": "B"}}, false},
1065 …{"map - values - invalid (pattern)", &cases.MapValuesPattern{Val: map[string]string{"a": "A", "b":…
1074 …{"oneof - field - valid (Z)", &cases.OneOf{O: &cases.OneOf_Z{Z: &cases.TestOneOfMsg{Val: true}}}, …
1085 {"wrapper - none - valid", &cases.WrapperNone{Val: &wrappers.Int32Value{Value: 123}}, true},
1086 {"wrapper - none - valid (empty)", &cases.WrapperNone{Val: nil}, true},
1088 {"wrapper - float - valid", &cases.WrapperFloat{Val: &wrappers.FloatValue{Value: 1}}, true},
1089 {"wrapper - float - valid (empty)", &cases.WrapperFloat{Val: nil}, true},
1090 {"wrapper - float - invalid", &cases.WrapperFloat{Val: &wrappers.FloatValue{Value: 0}}, false},
1092 {"wrapper - double - valid", &cases.WrapperDouble{Val: &wrappers.DoubleValue{Value: 1}}, true},
1093 {"wrapper - double - valid (empty)", &cases.WrapperDouble{Val: nil}, true},
1094 {"wrapper - double - invalid", &cases.WrapperDouble{Val: &wrappers.DoubleValue{Value: 0}}, false},
1096 {"wrapper - int64 - valid", &cases.WrapperInt64{Val: &wrappers.Int64Value{Value: 1}}, true},
1097 {"wrapper - int64 - valid (empty)", &cases.WrapperInt64{Val: nil}, true},
1098 {"wrapper - int64 - invalid", &cases.WrapperInt64{Val: &wrappers.Int64Value{Value: 0}}, false},
1100 {"wrapper - int32 - valid", &cases.WrapperInt32{Val: &wrappers.Int32Value{Value: 1}}, true},
1101 {"wrapper - int32 - valid (empty)", &cases.WrapperInt32{Val: nil}, true},
1102 {"wrapper - int32 - invalid", &cases.WrapperInt32{Val: &wrappers.Int32Value{Value: 0}}, false},
1104 {"wrapper - uint64 - valid", &cases.WrapperUInt64{Val: &wrappers.UInt64Value{Value: 1}}, true},
1105 {"wrapper - uint64 - valid (empty)", &cases.WrapperUInt64{Val: nil}, true},
1106 {"wrapper - uint64 - invalid", &cases.WrapperUInt64{Val: &wrappers.UInt64Value{Value: 0}}, false},
1108 {"wrapper - uint32 - valid", &cases.WrapperUInt32{Val: &wrappers.UInt32Value{Value: 1}}, true},
1109 {"wrapper - uint32 - valid (empty)", &cases.WrapperUInt32{Val: nil}, true},
1110 {"wrapper - uint32 - invalid", &cases.WrapperUInt32{Val: &wrappers.UInt32Value{Value: 0}}, false},
1112 {"wrapper - bool - valid", &cases.WrapperBool{Val: &wrappers.BoolValue{Value: true}}, true},
1113 {"wrapper - bool - valid (empty)", &cases.WrapperBool{Val: nil}, true},
1114 {"wrapper - bool - invalid", &cases.WrapperBool{Val: &wrappers.BoolValue{Value: false}}, false},
1116 …{"wrapper - string - valid", &cases.WrapperString{Val: &wrappers.StringValue{Value: "foobar"}}, tr…
1117 {"wrapper - string - valid (empty)", &cases.WrapperString{Val: nil}, true},
1118 …{"wrapper - string - invalid", &cases.WrapperString{Val: &wrappers.StringValue{Value: "fizzbuzz"}}…
1120 …{"wrapper - bytes - valid", &cases.WrapperBytes{Val: &wrappers.BytesValue{Value: []byte("foo")}}, …
1121 {"wrapper - bytes - valid (empty)", &cases.WrapperBytes{Val: nil}, true},
1122 …{"wrapper - bytes - invalid", &cases.WrapperBytes{Val: &wrappers.BytesValue{Value: []byte("x")}}, …
1126 {"duration - none - valid", &cases.DurationNone{Val: &duration.Duration{Seconds: 123}}, true},
1128 {"duration - required - valid", &cases.DurationRequired{Val: &duration.Duration{}}, true},
1129 {"duration - required - invalid", &cases.DurationRequired{Val: nil}, false},
1131 {"duration - const - valid", &cases.DurationConst{Val: &duration.Duration{Seconds: 3}}, true},
1133 {"duration - const - invalid", &cases.DurationConst{Val: &duration.Duration{Nanos: 3}}, false},
1135 {"duration - in - valid", &cases.DurationIn{Val: &duration.Duration{Seconds: 1}}, true},
1137 {"duration - in - invalid", &cases.DurationIn{Val: &duration.Duration{}}, false},
1139 {"duration - not in - valid", &cases.DurationNotIn{Val: &duration.Duration{Nanos: 1}}, true},
1141 {"duration - not in - invalid", &cases.DurationNotIn{Val: &duration.Duration{}}, false},
1143 {"duration - lt - valid", &cases.DurationLT{Val: &duration.Duration{Nanos: -1}}, true},
1145 {"duration - lt - invalid (equal)", &cases.DurationLT{Val: &duration.Duration{}}, false},
1146 {"duration - lt - invalid", &cases.DurationLT{Val: &duration.Duration{Seconds: 1}}, false},
1148 {"duration - lte - valid", &cases.DurationLTE{Val: &duration.Duration{}}, true},
1150 {"duration - lte - valid (equal)", &cases.DurationLTE{Val: &duration.Duration{Seconds: 1}}, true},
1151 …{"duration - lte - invalid", &cases.DurationLTE{Val: &duration.Duration{Seconds: 1, Nanos: 1}}, fa…
1153 {"duration - gt - valid", &cases.DurationGT{Val: &duration.Duration{Seconds: 1}}, true},
1155 …{"duration - gt - invalid (equal)", &cases.DurationGT{Val: &duration.Duration{Nanos: 1000}}, false…
1156 {"duration - gt - invalid", &cases.DurationGT{Val: &duration.Duration{}}, false},
1158 {"duration - gte - valid", &cases.DurationGTE{Val: &duration.Duration{Seconds: 3}}, true},
1160 …{"duration - gte - valid (equal)", &cases.DurationGTE{Val: &duration.Duration{Nanos: 1000000}}, tr…
1161 {"duration - gte - invalid", &cases.DurationGTE{Val: &duration.Duration{Seconds: -1}}, false},
1163 {"duration - gt & lt - valid", &cases.DurationGTLT{Val: &duration.Duration{Nanos: 1000}}, true},
1165 …{"duration - gt & lt - invalid (above)", &cases.DurationGTLT{Val: &duration.Duration{Seconds: 1000…
1166 …{"duration - gt & lt - invalid (below)", &cases.DurationGTLT{Val: &duration.Duration{Nanos: -1000}…
1167 …{"duration - gt & lt - invalid (max)", &cases.DurationGTLT{Val: &duration.Duration{Seconds: 1}}, f…
1168 {"duration - gt & lt - invalid (min)", &cases.DurationGTLT{Val: &duration.Duration{}}, false},
1171 …{"duration - exclusive gt & lt - valid (above)", &cases.DurationExLTGT{Val: &duration.Duration{Sec…
1172 …{"duration - exclusive gt & lt - valid (below)", &cases.DurationExLTGT{Val: &duration.Duration{Nan…
1173 …{"duration - exclusive gt & lt - invalid", &cases.DurationExLTGT{Val: &duration.Duration{Nanos: 10…
1174 …{"duration - exclusive gt & lt - invalid (max)", &cases.DurationExLTGT{Val: &duration.Duration{Sec…
1175 …{"duration - exclusive gt & lt - invalid (min)", &cases.DurationExLTGT{Val: &duration.Duration{}},…
1177 …{"duration - gte & lte - valid", &cases.DurationGTELTE{Val: &duration.Duration{Seconds: 60, Nanos:…
1179 …{"duration - gte & lte - valid (max)", &cases.DurationGTELTE{Val: &duration.Duration{Seconds: 3600…
1180 …{"duration - gte & lte - valid (min)", &cases.DurationGTELTE{Val: &duration.Duration{Seconds: 60}}…
1181 …{"duration - gte & lte - invalid (above)", &cases.DurationGTELTE{Val: &duration.Duration{Seconds: …
1182 …{"duration - gte & lte - invalid (below)", &cases.DurationGTELTE{Val: &duration.Duration{Seconds: …
1185 …{"duration - exclusive gte & lte - valid (above)", &cases.DurationExGTELTE{Val: &duration.Duration…
1186 …{"duration - exclusive gte & lte - valid (below)", &cases.DurationExGTELTE{Val: &duration.Duration…
1187 …{"duration - exclusive gte & lte - valid (max)", &cases.DurationExGTELTE{Val: &duration.Duration{S…
1188 …{"duration - exclusive gte & lte - valid (min)", &cases.DurationExGTELTE{Val: &duration.Duration{S…
1189 …{"duration - exclusive gte & lte - invalid", &cases.DurationExGTELTE{Val: &duration.Duration{Secon…
1194 {"timestamp - none - valid", &cases.TimestampNone{Val: &timestamp.Timestamp{Seconds: 123}}, true},
1196 {"timestamp - required - valid", &cases.TimestampRequired{Val: &timestamp.Timestamp{}}, true},
1197 {"timestamp - required - invalid", &cases.TimestampRequired{Val: nil}, false},
1199 {"timestamp - const - valid", &cases.TimestampConst{Val: &timestamp.Timestamp{Seconds: 3}}, true},
1201 {"timestamp - const - invalid", &cases.TimestampConst{Val: &timestamp.Timestamp{Nanos: 3}}, false},
1203 {"timestamp - lt - valid", &cases.TimestampLT{Val: &timestamp.Timestamp{Seconds: -1}}, true},
1205 {"timestamp - lt - invalid (equal)", &cases.TimestampLT{Val: &timestamp.Timestamp{}}, false},
1206 {"timestamp - lt - invalid", &cases.TimestampLT{Val: &timestamp.Timestamp{Seconds: 1}}, false},
1208 {"timestamp - lte - valid", &cases.TimestampLTE{Val: &timestamp.Timestamp{}}, true},
1210 …{"timestamp - lte - valid (equal)", &cases.TimestampLTE{Val: &timestamp.Timestamp{Seconds: 1}}, tr…
1211 …{"timestamp - lte - invalid", &cases.TimestampLTE{Val: &timestamp.Timestamp{Seconds: 1, Nanos: 1}}…
1213 {"timestamp - gt - valid", &cases.TimestampGT{Val: &timestamp.Timestamp{Seconds: 1}}, true},
1215 …{"timestamp - gt - invalid (equal)", &cases.TimestampGT{Val: &timestamp.Timestamp{Nanos: 1000}}, f…
1216 {"timestamp - gt - invalid", &cases.TimestampGT{Val: &timestamp.Timestamp{}}, false},
1218 {"timestamp - gte - valid", &cases.TimestampGTE{Val: &timestamp.Timestamp{Seconds: 3}}, true},
1220 …{"timestamp - gte - valid (equal)", &cases.TimestampGTE{Val: &timestamp.Timestamp{Nanos: 1000000}}…
1221 {"timestamp - gte - invalid", &cases.TimestampGTE{Val: &timestamp.Timestamp{Seconds: -1}}, false},
1223 …{"timestamp - gt & lt - valid", &cases.TimestampGTLT{Val: &timestamp.Timestamp{Nanos: 1000}}, true…
1225 …{"timestamp - gt & lt - invalid (above)", &cases.TimestampGTLT{Val: &timestamp.Timestamp{Seconds: …
1226 …{"timestamp - gt & lt - invalid (below)", &cases.TimestampGTLT{Val: &timestamp.Timestamp{Seconds: …
1227 …{"timestamp - gt & lt - invalid (max)", &cases.TimestampGTLT{Val: &timestamp.Timestamp{Seconds: 1}…
1228 {"timestamp - gt & lt - invalid (min)", &cases.TimestampGTLT{Val: &timestamp.Timestamp{}}, false},
1231 …{"timestamp - exclusive gt & lt - valid (above)", &cases.TimestampExLTGT{Val: &timestamp.Timestamp…
1232 …{"timestamp - exclusive gt & lt - valid (below)", &cases.TimestampExLTGT{Val: &timestamp.Timestamp…
1233 …{"timestamp - exclusive gt & lt - invalid", &cases.TimestampExLTGT{Val: &timestamp.Timestamp{Nanos…
1234 …{"timestamp - exclusive gt & lt - invalid (max)", &cases.TimestampExLTGT{Val: &timestamp.Timestamp…
1235 …{"timestamp - exclusive gt & lt - invalid (min)", &cases.TimestampExLTGT{Val: &timestamp.Timestamp…
1237 …{"timestamp - gte & lte - valid", &cases.TimestampGTELTE{Val: &timestamp.Timestamp{Seconds: 60, Na…
1239 …{"timestamp - gte & lte - valid (max)", &cases.TimestampGTELTE{Val: &timestamp.Timestamp{Seconds: …
1240 …{"timestamp - gte & lte - valid (min)", &cases.TimestampGTELTE{Val: &timestamp.Timestamp{Seconds: …
1241 …{"timestamp - gte & lte - invalid (above)", &cases.TimestampGTELTE{Val: &timestamp.Timestamp{Secon…
1242 …{"timestamp - gte & lte - invalid (below)", &cases.TimestampGTELTE{Val: &timestamp.Timestamp{Secon…
1245 …{"timestamp - exclusive gte & lte - valid (above)", &cases.TimestampExGTELTE{Val: &timestamp.Times…
1246 …{"timestamp - exclusive gte & lte - valid (below)", &cases.TimestampExGTELTE{Val: &timestamp.Times…
1247 …{"timestamp - exclusive gte & lte - valid (max)", &cases.TimestampExGTELTE{Val: &timestamp.Timesta…
1248 …{"timestamp - exclusive gte & lte - valid (min)", &cases.TimestampExGTELTE{Val: &timestamp.Timesta…
1249 …{"timestamp - exclusive gte & lte - invalid", &cases.TimestampExGTELTE{Val: &timestamp.Timestamp{S…
1251 {"timestamp - lt now - valid", &cases.TimestampLTNow{Val: &timestamp.Timestamp{}}, true},
1253 …{"timestamp - lt - now - invalid", &cases.TimestampLTNow{Val: &timestamp.Timestamp{Seconds: time.N…
1255 …{"timestamp - gt now - valid", &cases.TimestampGTNow{Val: &timestamp.Timestamp{Seconds: time.Now()…
1257 {"timestamp - gt now - invalid", &cases.TimestampGTNow{Val: &timestamp.Timestamp{}}, false},
1259 {"timestamp - within - valid", &cases.TimestampWithin{Val: ptypes.TimestampNow()}, true},
1261 …{"timestamp - within - invalid (below)", &cases.TimestampWithin{Val: &timestamp.Timestamp{}}, fals…
1262 …{"timestamp - within - invalid (above)", &cases.TimestampWithin{Val: &timestamp.Timestamp{Seconds:…
1266 {"any - none - valid", &cases.AnyNone{Val: &any.Any{}}, true},
1268 {"any - required - valid", &cases.AnyRequired{Val: &any.Any{}}, true},
1269 {"any - required - invalid", &cases.AnyRequired{Val: nil}, false},
1271 …{"any - in - valid", &cases.AnyIn{Val: &any.Any{TypeUrl: "type.googleapis.com/google.protobuf.Dura…
1273 …{"any - in - invalid", &cases.AnyIn{Val: &any.Any{TypeUrl: "type.googleapis.com/google.protobuf.Ti…
1275 …{"any - not in - valid", &cases.AnyNotIn{Val: &any.Any{TypeUrl: "type.googleapis.com/google.protob…
1277 …{"any - not in - invalid", &cases.AnyNotIn{Val: &any.Any{TypeUrl: "type.googleapis.com/google.prot…