diff options
| author | bors <bors@rust-lang.org> | 2014-12-07 07:12:16 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-12-07 07:12:16 +0000 |
| commit | 1e835cc7e3828fb21dfa59c4974d535108c4b024 (patch) | |
| tree | 14df984e22f9bd45fa57d2069c5406a7fb824dca /src | |
| parent | f7d18b92f80e52462a5c086bb47252817e6b1b3d (diff) | |
| parent | 451cc7e5c07ec50ff35b9447999cb3e990cef340 (diff) | |
| download | rust-1e835cc7e3828fb21dfa59c4974d535108c4b024.tar.gz rust-1e835cc7e3828fb21dfa59c4974d535108c4b024.zip | |
auto merge of #19488 : jbranchaud/rust/add-btree-set-doctests, r=alexcrichton
There is already a test for `union` in the test namespace, but this commit adds a doctest that will appear in the rustdocs. Someone on IRC said, *Write doctests!*, so here I am. I am not sure this is the best way to demonstrate the behavior of the union function, so I am open to suggestions for improving this. If I am on the right track I'd be glad to include similar doctests for `intersection`, `difference`, etc.
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcollections/btree/set.rs | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/libcollections/btree/set.rs b/src/libcollections/btree/set.rs index 64ae4f6a508..3973b4774b3 100644 --- a/src/libcollections/btree/set.rs +++ b/src/libcollections/btree/set.rs @@ -94,12 +94,46 @@ impl<T> BTreeSet<T> { impl<T: Ord> BTreeSet<T> { /// Visits the values representing the difference, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// a.insert(2u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// b.insert(3u); + /// + /// let diff: Vec<uint> = a.difference(&b).cloned().collect(); + /// assert_eq!(diff, vec![1u]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn difference<'a>(&'a self, other: &'a BTreeSet<T>) -> DifferenceItems<'a, T> { DifferenceItems{a: self.iter().peekable(), b: other.iter().peekable()} } /// Visits the values representing the symmetric difference, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// a.insert(2u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// b.insert(3u); + /// + /// let sym_diff: Vec<uint> = a.symmetric_difference(&b).cloned().collect(); + /// assert_eq!(sym_diff, vec![1u,3]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn symmetric_difference<'a>(&'a self, other: &'a BTreeSet<T>) -> SymDifferenceItems<'a, T> { @@ -107,6 +141,23 @@ impl<T: Ord> BTreeSet<T> { } /// Visits the values representing the intersection, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// a.insert(2u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// b.insert(3u); + /// + /// let intersection: Vec<uint> = a.intersection(&b).cloned().collect(); + /// assert_eq!(intersection, vec![2u]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn intersection<'a>(&'a self, other: &'a BTreeSet<T>) -> IntersectionItems<'a, T> { @@ -114,6 +165,21 @@ impl<T: Ord> BTreeSet<T> { } /// Visits the values representing the union, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// + /// let union: Vec<uint> = a.union(&b).cloned().collect(); + /// assert_eq!(union, vec![1u,2]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn union<'a>(&'a self, other: &'a BTreeSet<T>) -> UnionItems<'a, T> { UnionItems{a: self.iter().peekable(), b: other.iter().peekable()} |
