--------------------------------------------------------------------------- Property: Delete is idempotent (Delete twice == Delete once) --------------------------------------------------------------------------- reqproof:proptest parser.Delete Verifies: SYS-REQ-034 [property]
(t *testing.T)
| 559 | // reqproof:proptest parser.Delete |
| 560 | // Verifies: SYS-REQ-034 [property] |
| 561 | func 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 |
nothing calls this directly
no test coverage detected