Updated 'src/io_project/test_driven_dev.md'.

This commit is contained in:
Hector PENG
2025-06-09 16:30:16 +08:00
parent a227b1ffd2
commit 338c63c5e0
5 changed files with 133 additions and 57 deletions

View File

@@ -0,0 +1,6 @@
[package]
name = "io_project"
version = "0.1.0"
edition = "2021"
[dependencies]

View File

@@ -0,0 +1,38 @@
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn one_result() {
let query = "duct";
let contents = "\
Rust:
safe, fast, productive.
Pick three.";
assert_eq! (vec! ["safe, fast, productive."], search(query, contents));
}
}
pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> {
let mut results = Vec::new();
for line in contents.lines() {
if line.contains(query) {
results.push(line);
}
}
results
}
pub fn run(config: Config) -> Result<(), Box<dyn Error>>{
let contents = fs::read_to_string(config.file_path)?;
for line in search(&config.query, &contents) {
println! ("{line}");
}
Ok(())
}

View File

@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}