pub struct FileStats {
pub(crate) total_lines: usize,
}
impl FileStats {
pub fn new(source: &str) -> Self {
Self {
total_lines: count_file_lines(source),
}
}
}
fn count_file_lines(source: &str) -> usize {
source.lines().count()
}
#[cfg(test)]
mod tests {
use super::*;
const TEST_SOURCE: &str = r#"fn main() {
let first_name = "John";
// TODO: add last name
}"#;
#[test]
fn counts_lines() {
assert_eq!(5, count_file_lines(TEST_SOURCE))
}
}