use diml::parse;
const A: &str = ".\n";
const B: &str = ". b\n";
const C: &str = ".C\n";
const D: &str = ".D d\n";
fn eq(node1: &str, node2: &str, name1: &str, content1: &str, name2: &str, content2: &str) {
let input = format!("{node1}{node2}");
let doc = parse(&input).unwrap();
let mut children = doc.children();
let first = children.next().unwrap();
assert_eq!(name1, first.name());
assert_eq!(content1, first.content());
let second = children.next().unwrap();
assert_eq!(name2, second.name());
assert_eq!(content2, second.content());
}
#[test]
fn sequences_should_work() {
eq(A, B, "", "\n", "", " b\n");
eq(B, A, "", " b\n", "", "\n");
eq(A, C, "", "\n", "C", "\n");
eq(C, A, "C", "\n", "", "\n");
eq(A, D, "", "\n", "D", " d\n");
eq(D, A, "D", " d\n", "", "\n");
eq(B, C, "", " b\n", "C", "\n");
eq(C, B, "C", "\n", "", " b\n");
eq(B, D, "", " b\n", "D", " d\n");
eq(D, B, "D", " d\n", "", " b\n");
eq(C, D, "C", "\n", "D", " d\n");
eq(D, C, "D", " d\n", "C", "\n");
}