This document defines test cases that all netencode language implementations must pass. Each test case is defined using the unified API function names and expected binary output.

Each test case follows this structure:

### Test Name
- **Category**: Basic Types | Composite Types | Complex Scenarios | Error Cases
- **Input**: Function calls using unified API
- **Expected**: Binary output in hex or bytes
- **Description**: What this test validates

  1. All text values must be valid UTF-8
  2. Binary data can contain any byte values
  3. Record fields from dict are sorted alphabetically by key
  4. Record fields from ordered structures preserve insertion order
  5. Empty structures are valid (empty text, binary, list)
  6. Tag names and record field names are UTF-8 encoded
  7. Length prefixes count bytes, not characters