///|
test "structured error exposes stage kind and context" {
let e = problem_error(Uri, InvalidUriReference, "bad")
assert_true(e.stage() == Uri)
assert_true(e.kind() == InvalidUriReference)
assert_str_eq(e.context(), "bad")
}
///|
test "unknown json offsets remain absent" {
assert_true(expect_error("{").byte_offset() is None)
}
///|
test "error names are stable" {
assert_str_eq(LimitExceeded.name(), "LimitExceeded")
assert_str_eq(Context.name(), "Context")
}
///|
test "error rendering includes stage and kind" {
assert_str_eq(
problem_error(Json, InvalidJson, "bad").to_string(),
"Json/InvalidJson: bad",
)
}