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

Function TestPropertyArrayEachCompleteness

property_test.go:332–357  ·  view source on GitHub ↗

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

(t *testing.T)

Source from the content-addressed store, hash-verified

330// reqproof:proptest ArrayEach
331// Verifies: SYS-REQ-006 [property]
332func TestPropertyArrayEachCompleteness(t *testing.T) {
333 r := newRNG(jsonSeed + 2)
334 const iterations = 1000
335 for i := 0; i < iterations; i++ {
336 // Build an array of known length via encoding/json.
337 n := r.Intn(6) + 1
338 arr := make([]interface{}, n)
339 for j := range arr {
340 arr[j] = r.Int63()
341 }
342 raw, err := json.Marshal(arr)
343 if err != nil {
344 continue
345 }
346 seen := 0
347 _, aerr := ArrayEach(raw, func(value []byte, dataType ValueType, offset int, err error) {
348 seen++
349 })
350 if aerr != nil {
351 t.Fatalf("ArrayEach errored on valid array %q: %v", raw, aerr)
352 }
353 if seen != n {
354 t.Fatalf("ArrayEach visited %d elements, expected %d on input %q", seen, n, raw)
355 }
356 }
357}
358
359// ---------------------------------------------------------------------------
360// 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