diff options
Diffstat (limited to 'src/tree.rs')
-rw-r--r-- | src/tree.rs | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/src/tree.rs b/src/tree.rs index 1b7ed39..977cb78 100644 --- a/src/tree.rs +++ b/src/tree.rs @@ -1,9 +1,6 @@ -extern crate rand; -extern crate test; - -use node::Node; -use node::{insert,delete,search,min,max,is_avl_tree, to_string, min_pair, max_pair}; -use iterators::RangePairIter; +use crate::node::Node; +use crate::node::{insert,delete,search, min_pair, max_pair}; +use crate::iterators::RangePairIter; use std::collections::Bound; @@ -85,7 +82,7 @@ impl <K:Ord+Copy,D> AVLTree<K,D>{ /// assert_eq!(t.get_or(3,&2000), &2000); /// /// ``` - pub fn get_or<'a>(&'a self, key: K, default: &'a D) -> &D{ + pub fn get_or<'a>(&'a self, key: K, default: &'a D) -> &'a D{ self.get(key).map_or(default, |data| data) } @@ -166,11 +163,11 @@ impl <K:Ord+Copy,D> AVLTree<K,D>{ /// be inclusive, exclusive or unbounded). /// # Examples /// ``` -/// #![feature(collections_bound)] -/// # extern crate avl_tree; +/// +/// /// use std::collections::Bound; /// //[...] -/// # let mut t=avl_tree::AVLTree::<u64,i32>::new(); +/// let mut t=avl_tree::AVLTree::<u64,i32>::new(); /// for (key,val) in t.range(Bound::Excluded(32), Bound::Excluded(38)) { /// println!("{} -> {}",key,val) /// } @@ -179,28 +176,4 @@ impl <K:Ord+Copy,D> AVLTree<K,D>{ pub fn range(&self, min: Bound<K>, max: Bound<K>) -> RangePairIter<K,D>{ RangePairIter::new(self, min, max) } - - fn test_avl_tree(&self) -> bool { - is_avl_tree(&self.root) - } -} - -#[test] -fn test_fuzz(){ - let mut t = AVLTree::<u64,i32>::new(); - for _ in 1..5000 { - let decision = rand::random::<bool>(); - if decision { - let to_insert = rand::random::<u64>()%500; - t.insert(to_insert, 1337); - assert!(t.contains(to_insert)); - assert!(t.test_avl_tree()); - } else { - let to_delete = rand::random::<u64>()%500; - t.delete(to_delete); - assert!(!t.contains(to_delete)); - assert!(t.test_avl_tree()); - }; - }; - return; } |