# Utility Fixture Mapping
This folder contains shared utility fixtures for helpers that are not tied to
a specific reader or writer format conversion.
The initial fixture set covers the `encode_doi` and `decode_doi` helpers in
`commonmeta-py` and `commonmeta-rs`.
These fixtures are intentionally separate from the reader/writer conformance
fixtures under the format-specific directories. They describe helper behavior,
not Commonmeta record conversion.
## Files
- `decode_doi_cases.json` contains canonical decode inputs and expected numeric
outputs.
- `encode_doi_cases.json` contains encode inputs and the assertions
implementations should make about the returned DOI.
## Notes
- `checksum` indicates whether the case expects checksum validation.
- `expected_decoded_number` may be the string `"nonzero"` for random encode
cases where the exact generated suffix is not deterministic.
- `expected_suffix_pattern` is a regular expression for the encoded DOI suffix
only, not the full DOI URL.
- A suffix encoded from a given number is zero-padded to ten characters, split
after five, the form a random suffix has: 214901993 is `006cy-97960`, not
`6cy97-960`. With a checksum, the last two of the ten are the checksum;
without one, all ten are the number (1234 is `00000-0016j`).