use std::path::PathBuf;
#[derive(Clone, Debug, Default)]
pub struct ChangedFile {
pub path: PathBuf,
pub added_lines: Vec<ChangedLine>,
pub removed_lines: Vec<ChangedLine>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct ChangedLine {
pub line: usize,
pub text: String,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn model_types_are_constructible() {
let changed_file = ChangedFile {
path: PathBuf::from("src/lib.rs"),
added_lines: vec![],
removed_lines: vec![],
};
assert_eq!(changed_file.path, PathBuf::from("src/lib.rs"));
assert!(changed_file.added_lines.is_empty());
assert!(changed_file.removed_lines.is_empty());
let changed_line = ChangedLine {
line: 42,
text: "example".to_string(),
};
assert_eq!(changed_line.line, 42);
assert_eq!(changed_line.text, "example");
}
}