diff options
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/cell.rs | 31 | ||||
| -rw-r--r-- | src/libcoretest/lib.rs | 1 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/libcoretest/cell.rs b/src/libcoretest/cell.rs index 724a312ea79..8585f2f0871 100644 --- a/src/libcoretest/cell.rs +++ b/src/libcoretest/cell.rs @@ -210,6 +210,37 @@ fn cell_default() { } #[test] +fn cell_set() { + let cell = Cell::new(10); + cell.set(20); + assert_eq!(20, cell.get()); + + let cell = Cell::new("Hello".to_owned()); + cell.set("World".to_owned()); + assert_eq!("World".to_owned(), cell.into_inner()); +} + +#[test] +fn cell_replace() { + let cell = Cell::new(10); + assert_eq!(10, cell.replace(20)); + assert_eq!(20, cell.get()); + + let cell = Cell::new("Hello".to_owned()); + assert_eq!("Hello".to_owned(), cell.replace("World".to_owned())); + assert_eq!("World".to_owned(), cell.into_inner()); +} + +#[test] +fn cell_into_inner() { + let cell = Cell::new(10); + assert_eq!(10, cell.into_inner()); + + let cell = Cell::new("Hello world".to_owned()); + assert_eq!("Hello world".to_owned(), cell.into_inner()); +} + +#[test] fn refcell_default() { let cell: RefCell<u64> = Default::default(); assert_eq!(0, *cell.borrow()); diff --git a/src/libcoretest/lib.rs b/src/libcoretest/lib.rs index 8e5893b5ecb..87f3afd6889 100644 --- a/src/libcoretest/lib.rs +++ b/src/libcoretest/lib.rs @@ -33,6 +33,7 @@ #![feature(unique)] #![feature(ordering_chaining)] #![feature(ptr_unaligned)] +#![feature(move_cell)] extern crate core; extern crate test; |
