Skip to content

Commit 03159c0

Browse files
committed
add more test
1 parent 43f24fd commit 03159c0

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

src/string/manacher.rs

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,20 @@ mod tests {
182182
assert_eq!(Some(1..6), iter_max.next());
183183
assert_eq!(None, iter_max.next());
184184

185-
assert!(!m.is_palindrome(0, 2));
186-
assert!(m.is_palindrome(1, 4));
185+
assert_eq!(0..1, m.odd_longest_at(0));
186+
assert_eq!(1..2, m.odd_longest_at(1));
187+
assert_eq!(1..4, m.odd_longest_at(2));
188+
assert_eq!(1..6, m.odd_longest_at(3));
189+
assert_eq!(3..6, m.odd_longest_at(4));
190+
assert_eq!(5..6, m.odd_longest_at(5));
191+
assert_eq!(6..7, m.odd_longest_at(6));
192+
193+
assert_eq!(1..1, m.even_longest_at(0,1));
194+
assert_eq!(2..2, m.even_longest_at(1,2));
195+
assert_eq!(3..3, m.even_longest_at(2,3));
196+
assert_eq!(4..4, m.even_longest_at(3,4));
197+
assert_eq!(5..5, m.even_longest_at(4,5));
198+
assert_eq!(6..6, m.even_longest_at(5,6));
187199

188200
assert!(match_naive(s.as_bytes(), &m));
189201
}
@@ -216,5 +228,26 @@ mod tests {
216228
assert_eq!(None, iter_max.next());
217229

218230
assert!(match_naive(&s, &m));
231+
232+
let mut iter_len_3 = m.iter_of_len(3);
233+
assert_eq!(Some(3..6), iter_len_3.next());
234+
assert_eq!(Some(13..16), iter_len_3.next());
235+
assert_eq!(Some(23..26), iter_len_3.next());
236+
assert_eq!(Some(33..36), iter_len_3.next());
237+
assert_eq!(None, iter_len_3.next());
238+
239+
let mut iter_len_5 = m.iter_of_len(5);
240+
assert_eq!(Some(2..7), iter_len_5.next());
241+
assert_eq!(Some(12..17), iter_len_5.next());
242+
assert_eq!(Some(22..27), iter_len_5.next());
243+
assert_eq!(Some(32..37), iter_len_5.next());
244+
assert_eq!(None, iter_len_5.next());
245+
246+
let mut iter_len_7 = m.iter_of_len(7);
247+
assert_eq!(Some(1..8), iter_len_7.next());
248+
assert_eq!(Some(11..18), iter_len_7.next());
249+
assert_eq!(Some(21..28), iter_len_7.next());
250+
assert_eq!(Some(31..38), iter_len_7.next());
251+
assert_eq!(None, iter_len_7.next());
219252
}
220253
}

0 commit comments

Comments
 (0)