summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2019-07-28 20:58:57 -0400
committerDan Davison <dandavison7@gmail.com>2019-07-28 21:49:57 -0400
commit31e2d555c534bca614b8b3f03fcd7f45ef5914b5 (patch)
treef8b32b0ff3f683ca700bd6b756a2cd5602cf3862
parentb095f925745860ac815b63b566c68b0f9e97ea62 (diff)
Add test: unequal numbers of minus and plus lines
-rw-r--r--src/edits.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/edits.rs b/src/edits.rs
index 70e630a9..e61a7621 100644
--- a/src/edits.rs
+++ b/src/edits.rs
@@ -368,6 +368,51 @@ mod tests {
)
}
+ #[test]
+ fn test_infer_edits_4() {
+ assert_edits(
+ vec!["áaaáaaáaa\n", "áábáábááb\n"],
+ vec!["áábáácááb\n"],
+ (
+ vec![
+ vec![(MinusNoop, "áaaáaaáaa\n")],
+ vec![
+ (MinusNoop, "áábáá"),
+ (Deletion, "b"),
+ (MinusNoop, "ááb\n"),
+ ],
+ ],
+ vec![vec![
+ (PlusNoop, "áábáá"),
+ (Insertion, "c"),
+ (PlusNoop, "ááb\n"),
+ ]],
+ ),
+ 0.66,
+ )
+ }
+
+ #[test]
+ fn test_infer_edits_5() {
+ assert_edits(
+ vec!["aaaaaaaa\n", "bbbbbbbb\n", "cccccccc\n"],
+ vec!["bbbb!bbb\n", "dddddddd\n", "cccc!ccc\n"],
+ (
+ vec![
+ vec![(MinusNoop, "aaaaaaaa\n")],
+ vec![(MinusNoop, "bbbb"), (Deletion, "b"), (MinusNoop, "bbb\n")],
+ vec![(MinusNoop, "cccc"), (Deletion, "c"), (MinusNoop, "ccc\n")],
+ ],
+ vec![
+ vec![(PlusNoop, "bbbb"), (Insertion, "!"), (PlusNoop, "bbb\n")],
+ vec![(PlusNoop, "dddddddd\n")],
+ vec![(PlusNoop, "cccc"), (Insertion, "!"), (PlusNoop, "ccc\n")],
+ ],
+ ),
+ 0.66,
+ )
+ }
+
fn assert_edits(
minus_lines: Vec<&str>,
plus_lines: Vec<&str>,