Files
@ 9ddf4beb947b
Branch filter:
Location: Regular-Expresso/tests/test_regexp.rs - annotation
9ddf4beb947b
2.0 KiB
application/rls-services+xml
added tests
e93b264ec5cc e93b264ec5cc e93b264ec5cc 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b e93b264ec5cc 9ddf4beb947b 9ddf4beb947b e93b264ec5cc 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b 9ddf4beb947b | use regexp::Regexp;
#[test]
fn test_eval_basic_nfa() {
let r = Regexp::new(&String::from("abc"));
assert!(r.eval(String::from("abc")));
assert!(!r.eval(String::from("ab")));
assert!(!r.eval(String::from("abcd")));
}
#[test]
fn test_eval_basic_dfa() {
let r = Regexp::new(&String::from("abc")).determinize();
assert!(r.eval(String::from("abc")));
assert!(!r.eval(String::from("ab")));
assert!(!r.eval(String::from("abcd")));
}
#[test]
fn test_eval_empty_nfa() {
assert!(Regexp::new(&String::from("a*")).eval(String::from("")));
assert!(Regexp::new(&String::from("")).eval(String::from("")));
assert!(!Regexp::new(&String::from("")).eval(String::from("a")));
assert!(!Regexp::new(&String::from("a")).eval(String::from("")));
}
#[test]
fn test_eval_empty_dfa() {
assert!(Regexp::new(&String::from("a*")).determinize().eval(String::from("")));
assert!(Regexp::new(&String::from("")).determinize().eval(String::from("")));
assert!(!Regexp::new(&String::from("")).determinize().eval(String::from("a")));
}
#[test]
fn test_eval_asterisk_nfa() {
let r = Regexp::new(&String::from("a*b*"));
assert!(r.eval(String::from("a")));
assert!(r.eval(String::from("ab")));
assert!(r.eval(String::from("aabb")));
assert!(!r.eval(String::from("abab")));
}
#[test]
fn test_eval_asterisk_dfa() {
let r = Regexp::new(&String::from("a*b*")).determinize();
assert!(r.eval(String::from("a")));
assert!(r.eval(String::from("ab")));
assert!(r.eval(String::from("aabb")));
assert!(!r.eval(String::from("abab")));
}
#[test]
fn test_eval_plus_nfa() {
let r = Regexp::new(&String::from("(ab)+"));
assert!(!r.eval(String::from("a")));
assert!(r.eval(String::from("ab")));
assert!(r.eval(String::from("abab")));
assert!(!r.eval(String::from("aabb")));
}
#[test]
fn test_eval_plus_dfa() {
let r = Regexp::new(&String::from("(ab)+")).determinize();
assert!(!r.eval(String::from("a")));
assert!(r.eval(String::from("ab")));
assert!(r.eval(String::from("abab")));
assert!(!r.eval(String::from("aabb")));
}
|