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

Function TestPropertyDeleteIdempotent

property_test.go:561–586  ·  view source on GitHub ↗

--------------------------------------------------------------------------- Property: Delete is idempotent (Delete twice == Delete once) --------------------------------------------------------------------------- reqproof:proptest parser.Delete Verifies: SYS-REQ-034 [property]

(t *testing.T)

Source from the content-addressed store, hash-verified

559// reqproof:proptest parser.Delete
560// Verifies: SYS-REQ-034 [property]
561func TestPropertyDeleteIdempotent(t *testing.T) {
562 r := newRNG(jsonSeed + 6)
563 const iterations = 500
564 for i := 0; i < iterations; i++ {
565 raw, obj := randomObjectJSONBytes(r, 1)
566 var key string
567 for k := range obj {
568 key = k
569 break
570 }
571 if key == "" {
572 continue
573 }
574 var once []byte
575 assertInputUnchanged(t, raw, func() {
576 once = Delete(raw, key)
577 })
578 var twice []byte
579 assertInputUnchanged(t, once, func() {
580 twice = Delete(once, key)
581 })
582 if !bytes.Equal(once, twice) {
583 t.Fatalf("Delete not idempotent on input %q key=%q: once=%q twice=%q", raw, key, once, twice)
584 }
585 }
586}
587
588// ---------------------------------------------------------------------------
589// Property: searchKeys is deterministic and bounded on arbitrary bytes

Callers

nothing calls this directly

Calls 4

newRNGFunction · 0.85
randomObjectJSONBytesFunction · 0.85
assertInputUnchangedFunction · 0.85
DeleteFunction · 0.85

Tested by

no test coverage detected