summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2019-09-20 09:06:03 +0300
committerLars Wirzenius <liw@liw.fi>2019-09-20 09:06:03 +0300
commit699915a71d5ff173427b7510fd8fdea24b637b6a (patch)
tree0484e77c0966b8be61da14003d54ef314be2f369 /src
parente707402b75371f8b0d8bc55f2dfdf4ee137e9833 (diff)
downloadroadmap-699915a71d5ff173427b7510fd8fdea24b637b6a.tar.gz
Change: Step::dependencies into an iterator
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib.rs b/src/lib.rs
index ad803c0..38577d6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -18,7 +18,8 @@
//! endgoal.add_dependency("first");
//! assert_eq!(endgoal.name(), "endgoal");
//! assert_eq!(endgoal.label(), "the end goal");
-//! assert_eq!(endgoal.dependencies(), vec!["first"]);
+//! let deps: Vec<&String> = endgoal.dependencies().collect();
+//! assert_eq!(deps, vec!["first"]);
//!
//! let first = roadmap::Step::new("first", "the first step");
//!
@@ -66,8 +67,8 @@ impl Step {
}
/// Return vector of names of dependencies for a step.
- pub fn dependencies(&self) -> Vec<String> {
- self.depends.clone()
+ pub fn dependencies(&self) -> impl Iterator<Item=&String> {
+ self.depends.iter()
}
/// Add the name of a dependency to step.
@@ -155,14 +156,15 @@ mod tests {
let step = Step::new("myname", "my label");
assert_eq!(step.name(), "myname");
assert_eq!(step.label(), "my label");
- assert_eq!(step.dependencies().len(), 0);
+ assert_eq!(step.dependencies().count(), 0);
}
#[test]
fn add_step_dependency() {
let mut second = Step::new("second", "the second step");
second.add_dependency("first");
- assert_eq!(second.dependencies(), vec!["first"]);
+ let deps: Vec<&String> = second.dependencies().collect();
+ assert_eq!(deps, vec!["first"]);
}
#[test]