#[test]
fn case_{name}() -> anyhow::Result<()> {{
    let template = UriTemplate::new("{template}").context("failed to create TemplateUri from `{template}`")?;
    assert_eq!(template.uri(), "{template}");

    let expressions: Vec<&str> = template.expressions().collect();
    assert_eq!(expressions, vec![{expressions}]);

    let variables: Vec<&str> = template.variables().collect();
    assert_eq!(variables, vec![{variables}]);

    let var_map = [{var_map}].iter().cloned().collect();
    let uri = template.expand(&var_map);
    assert_eq!(uri, "{uri}");

    Ok(())
}}
