Verifies: SYS-REQ-113 (wildcard array iteration alias) reqproof:proptest:skip parity test for a thin compatibility wrapper
(t *testing.T)
| 155 | // Verifies: SYS-REQ-113 (wildcard array iteration alias) |
| 156 | // reqproof:proptest:skip parity test for a thin compatibility wrapper |
| 157 | func TestEachArrayWildcardAlias(t *testing.T) { |
| 158 | data := []byte(`{"payload":{"items":[1,"two",true,null]}}`) |
| 159 | var original, alias []wildcardAliasObservation |
| 160 | |
| 161 | originalCount, originalErr := ArrayEachWildcard(data, func(index int, value []byte, dataType ValueType, offset int, err error) error { |
| 162 | original = append(original, wildcardAliasObservation{ |
| 163 | index: index, |
| 164 | value: string(value), |
| 165 | dataType: dataType, |
| 166 | offset: offset, |
| 167 | err: aliasErrorString(err), |
| 168 | }) |
| 169 | return nil |
| 170 | }, "payload", "items", "[*]") |
| 171 | |
| 172 | aliasCount, aliasErr := EachArrayWildcard(data, func(index int, value []byte, dataType ValueType, offset int, err error) error { |
| 173 | alias = append(alias, wildcardAliasObservation{ |
| 174 | index: index, |
| 175 | value: string(value), |
| 176 | dataType: dataType, |
| 177 | offset: offset, |
| 178 | err: aliasErrorString(err), |
| 179 | }) |
| 180 | return nil |
| 181 | }, "payload", "items", "[*]") |
| 182 | |
| 183 | if aliasCount != originalCount { |
| 184 | t.Fatalf("EachArrayWildcard() count = %d, ArrayEachWildcard() count = %d", aliasCount, originalCount) |
| 185 | } |
| 186 | if !errors.Is(aliasErr, originalErr) { |
| 187 | t.Fatalf("EachArrayWildcard() error = %v, ArrayEachWildcard() error = %v", aliasErr, originalErr) |
| 188 | } |
| 189 | if !reflect.DeepEqual(alias, original) { |
| 190 | t.Fatalf("EachArrayWildcard() observations = %#v, ArrayEachWildcard() observations = %#v", alias, original) |
| 191 | } |
| 192 | } |
nothing calls this directly
no test coverage detected