Skip to content

Commit

Permalink
Added tests for the implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
poliorcetics committed May 29, 2020
1 parent 2031e99 commit d8b51f1
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion src/libcore/tests/nonzero.rs
@@ -1,4 +1,4 @@
use core::num::{IntErrorKind, NonZeroI32, NonZeroI8, NonZeroU32, NonZeroU8};
use core::num::{TryFromIntError, IntErrorKind, NonZeroI32, NonZeroI8, NonZeroU32, NonZeroU8};
use core::option::Option::{self, None, Some};
use std::mem::size_of;

Expand Down Expand Up @@ -176,3 +176,21 @@ fn test_nonzero_bitor_assign() {
target |= 0;
assert_eq!(target.get(), 0b1011_1111);
}

#[test]
fn test_nonzero_from_int_on_success() {
assert_eq!(NonZeroU8::try_from(5), Ok(NonZeroU8::new(5)));
assert_eq!(NonZeroU32::try_from(5), Ok(NonZeroU32::new(5)));

assert_eq!(NonZeroI8::try_from(-5), Ok(NonZeroI8::new(-5)));
assert_eq!(NonZeroI32::try_from(-5), Ok(NonZeroI32::new(-5)));
}

#[test]
fn test_nonzero_from_int_on_err() {
assert_eq!(NonZeroU8::try_from(0), Err(TryFromIntError(())));
assert_eq!(NonZeroU32::try_from(0), Err(TryFromIntError(())));

assert_eq!(NonZeroI8::try_from(0), Err(TryFromIntError(())));
assert_eq!(NonZeroI32::try_from(0), Err(TryFromIntError(())));
}

0 comments on commit d8b51f1

Please sign in to comment.