use use_go::{GoIdentifier, GoImportPath, GoModulePath, GoPackageName, GoTestName, GoVersion};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let version: GoVersion = "go1.22.0".parse()?;
let identifier = GoIdentifier::new("ServeHTTP")?;
let package = GoPackageName::new("http")?;
let import = GoImportPath::new("net/http")?;
let module = GoModulePath::new("example.com/project")?;
let test = GoTestName::new("TestHandler")?;
assert_eq!(version.to_string(), "1.22.0");
assert!(identifier.is_exported());
assert_eq!(package.as_str(), "http");
assert_eq!(import.as_str(), "net/http");
assert_eq!(module.as_str(), "example.com/project");
assert_eq!(test.as_str(), "TestHandler");
Ok(())
}