use super::*;
#[test]
fn test_det_braced_arg() {
let expr = parse_latex(r"\det{A}").unwrap();
match &expr.kind {
ExprKind::Function { name, args } => {
assert_eq!(name, "det");
assert_eq!(args.len(), 1);
assert_eq!(args[0], Expression::variable("A".to_string()));
}
_ => panic!("Expected Function(det, [A]), got {:?}", expr),
}
}
#[test]
fn test_det_paren_arg() {
let expr = parse_latex(r"\det(A)").unwrap();
match &expr.kind {
ExprKind::Function { name, args } => {
assert_eq!(name, "det");
assert_eq!(args.len(), 1);
assert_eq!(args[0], Expression::variable("A".to_string()));
}
_ => panic!("Expected Function(det, [A]), got {:?}", expr),
}
}
#[test]
fn test_det_unbraced_arg() {
let expr = parse_latex(r"\det A").unwrap();
match &expr.kind {
ExprKind::Function { name, args } => {
assert_eq!(name, "det");
assert_eq!(args.len(), 1);
assert_eq!(args[0], Expression::variable("A".to_string()));
}
_ => panic!("Expected Function(det, [A]), got {:?}", expr),
}
}
#[test]
fn test_det_roundtrip() {
use crate::latex::ToLatex;
let expr = parse_latex(r"\det{A}").unwrap();
let latex_out = expr.to_latex();
let expr2 = parse_latex(&latex_out).unwrap();
assert_eq!(
expr, expr2,
"Round-trip failed: {} -> {:?}",
latex_out, expr2
);
}