quint-connect 0.1.0

A model-based testing framework that connects Quint specifications with Rust applications
Documentation
macro_rules! indent {
    ($level:literal, $fmt:literal $(, $args:expr)*) => {{
        let mut result = String::new();
        let prefix = " ".repeat($level);
        let text = format!($fmt $(, $args)*);

        for line in text.split_inclusive('\n') {
            result.push_str(&prefix);
            result.push_str(line);
        }

        result
    }};
}

pub(crate) use indent;

#[cfg(test)]
mod tests {
    #[test]
    fn test_ident() {
        assert_eq!(indent!(0, "foo\nbar"), "foo\nbar");
        assert_eq!(indent!(2, "foo\nbar"), "  foo\n  bar");
        assert_eq!(indent!(2, "foo\nbar\n{}", "bazz"), "  foo\n  bar\n  bazz");
    }
}