use crate::engine::prefix::*;
use crate::error::Result;
#[test]
pub(super) fn brace_depth_empty() -> Result<()> {
assert_eq!(brace_depth_prefix(b"")?, vec![0]);
Ok(())
}
#[test]
pub(super) fn brace_depth_nested() -> Result<()> {
assert_eq!(
brace_depth_prefix(b"a{b{c}d}e")?,
vec![0, 0, 1, 1, 2, 2, 1, 1, 0]
);
Ok(())
}
#[test]
pub(super) fn nested_depth_braces_and_parens() -> Result<()> {
assert_eq!(nested_depth_prefix(b"f({x})")?, vec![0, 0, 1, 2, 2, 1]);
Ok(())
}
#[test]
pub(super) fn newline_prefix() -> Result<()> {
let sums = newline_prefix_sum(b"a\nb\nc")?;
assert_eq!(sums, vec![0, 0, 1, 1, 2, 2]);
assert_eq!(sums[4] - sums[0], 2);
assert_eq!(sums[4] - sums[2], 1);
Ok(())
}