srtemplate 0.3.3

Template String blazing fast with dependencyless
Documentation
#[doc(hidden)]
pub mod arg;
pub mod serialize;

#[cfg(test)]
mod test {
    use super::serialize::FromArgs;

    #[test]
    fn simple_parse_args() {
        let args = vec!["abc".to_string(), "54".to_string(), "4.5".to_string()];

        let a = <(String, u8)>::from_args(&args);

        assert!(a.is_ok());
    }

    #[test]
    fn bad_parse_args() {
        let args = vec!["abc".to_string(), "2 75".to_string(), "4.5".to_string()];

        let a = <(String, f32)>::from_args(&args);

        assert!(a.is_err());
    }

    #[test]
    fn incomplete_parse_args() {
        let args = vec!["abc".to_string()];

        let a = <(String, i32)>::from_args(&args);

        println!("{a:?}");

        assert!(a.is_err());
    }

    #[test]
    fn complete_parse_args() {
        let args = vec!["abc".to_string(), "54".to_string(), "4.5".to_string()];

        let a = <(String, i32, f64)>::from_args(&args);

        assert!(a.is_ok());

        let (a, b, c) = a.unwrap();

        assert_eq!(a, "abc".to_string());
        assert_eq!(b, 54i32);
        assert_eq!(c, 4.5f64);
    }
}