test(backup): add some more delta tests
parent
15c4839a81
commit
5f43d7b8b1
|
@ -242,4 +242,56 @@ mod tests {
|
|||
let expected = Delta::default().with_added("dir_1", ["file1", "file2"]);
|
||||
assert_eq!(expected, b.union(&a));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_difference() {
|
||||
let a = Delta::default()
|
||||
.with_added("dir1", ["file1", "file2"])
|
||||
.with_removed("dir1", ["file3", "file4"]);
|
||||
let b = Delta::default()
|
||||
.with_added("dir1", ["file1"])
|
||||
.with_removed("dir1", ["file3"]);
|
||||
let expected = Delta::default()
|
||||
.with_added("dir1", ["file2"])
|
||||
.with_removed("dir1", ["file4"]);
|
||||
|
||||
assert_eq!(a.difference(&b), expected);
|
||||
assert_eq!(b.difference(&a), Delta::default());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_strict_difference() {
|
||||
let a = Delta::default()
|
||||
.with_added("dir1", ["file1", "file2"])
|
||||
.with_removed("dir1", ["file3", "file4"]);
|
||||
let b = Delta::default()
|
||||
.with_added("dir1", ["file1", "file4"])
|
||||
.with_removed("dir1", ["file3"]);
|
||||
let expected = Delta::default().with_added("dir1", ["file2"]);
|
||||
|
||||
assert_eq!(a.strict_difference(&b), expected);
|
||||
assert_eq!(b.strict_difference(&a), Delta::default());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_contributions() {
|
||||
let deltas = [
|
||||
Delta::default().with_added("dir1", ["file4"]),
|
||||
Delta::default().with_added("dir1", ["file1", "file2"]),
|
||||
Delta::default()
|
||||
.with_added("dir1", ["file1"])
|
||||
.with_added("dir2", ["file3"]),
|
||||
Delta::default()
|
||||
.with_added("dir1", ["file2"])
|
||||
.with_removed("dir2", ["file3"]),
|
||||
];
|
||||
let expected = [
|
||||
State::default().with_dir("dir1", ["file2"]),
|
||||
State::default().with_dir("dir1", ["file1"]),
|
||||
State::default(),
|
||||
State::default().with_dir("dir1", ["file4"]),
|
||||
];
|
||||
|
||||
assert_eq!(Delta::contributions(deltas.iter().rev()), expected);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue