Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use automaton::encoding::Ascii;

#[test]
pub fn test_intersection_with_kleene() {
    let a = Ascii::exact("a").kleene();
    let b = Ascii::exact("b");
    let c = Ascii::exact("c").kleene();

    let machine = a.concat(b.clone())
        .intersection(b.concat(c))
        .compile();

    assert!(machine.parse("b"));

    for s in ["ab", "bc"].iter() {
        assert!(!machine.parse(s), "parsed `{}`", s);
    }
}