MCPcopy Create free account
hub / github.com/buger/jsonparser / TestPropertyArrayEachCompleteness

Function TestPropertyArrayEachCompleteness

property_test.go:347–372  ·  view source on GitHub ↗

--------------------------------------------------------------------------- Property: ArrayEach visits every element exactly once --------------------------------------------------------------------------- reqproof:proptest parser.ArrayEach Verifies: SYS-REQ-006 [property]

(t *testing.T)

Source from the content-addressed store, hash-verified

345// reqproof:proptest parser.ArrayEach
346// Verifies: SYS-REQ-006 [property]
347func TestPropertyArrayEachCompleteness(t *testing.T) {
348 r := newRNG(jsonSeed + 2)
349 const iterations = 1000
350 for i := 0; i < iterations; i++ {
351 // Build an array of known length via encoding/json.
352 n := r.Intn(6) + 1
353 arr := make([]interface{}, n)
354 for j := range arr {
355 arr[j] = r.Int63()
356 }
357 raw, err := json.Marshal(arr)
358 if err != nil {
359 continue
360 }
361 seen := 0
362 _, aerr := ArrayEach(raw, func(value []byte, dataType ValueType, offset int, err error) {
363 seen++
364 })
365 if aerr != nil {
366 t.Fatalf("ArrayEach errored on valid array %q: %v", raw, aerr)
367 }
368 if seen != n {
369 t.Fatalf("ArrayEach visited %d elements, expected %d on input %q", seen, n, raw)
370 }
371 }
372}
373
374// ---------------------------------------------------------------------------
375// Property: ObjectEach visits every key-value pair exactly once

Callers

nothing calls this directly

Calls 2

newRNGFunction · 0.85
ArrayEachFunction · 0.85

Tested by

no test coverage detected