Get tests passing again
This commit is contained in:
parent
69afe1a3c6
commit
fcd3760625
|
@ -1796,7 +1796,7 @@ mod biguint_tests {
|
||||||
#[test]
|
#[test]
|
||||||
fn test_from_slice() {
|
fn test_from_slice() {
|
||||||
fn check(slice: &[BigDigit], data: &[BigDigit]) {
|
fn check(slice: &[BigDigit], data: &[BigDigit]) {
|
||||||
assert!(data == BigUint::from_slice(slice).data);
|
assert!(BigUint::from_slice(slice).data == data);
|
||||||
}
|
}
|
||||||
check(&[1], &[1]);
|
check(&[1], &[1]);
|
||||||
check(&[0, 0, 0], &[]);
|
check(&[0, 0, 0], &[]);
|
||||||
|
@ -1823,7 +1823,7 @@ mod biguint_tests {
|
||||||
fn test_to_bytes_be() {
|
fn test_to_bytes_be() {
|
||||||
fn check(s: &str, result: &str) {
|
fn check(s: &str, result: &str) {
|
||||||
let b = BigUint::parse_bytes(result.as_bytes(), 10).unwrap();
|
let b = BigUint::parse_bytes(result.as_bytes(), 10).unwrap();
|
||||||
assert_eq!(s.as_bytes(), b.to_bytes_be());
|
assert_eq!(b.to_bytes_be(), s.as_bytes());
|
||||||
}
|
}
|
||||||
check("A", "65");
|
check("A", "65");
|
||||||
check("AA", "16705");
|
check("AA", "16705");
|
||||||
|
@ -1854,7 +1854,7 @@ mod biguint_tests {
|
||||||
fn test_to_bytes_le() {
|
fn test_to_bytes_le() {
|
||||||
fn check(s: &str, result: &str) {
|
fn check(s: &str, result: &str) {
|
||||||
let b = BigUint::parse_bytes(result.as_bytes(), 10).unwrap();
|
let b = BigUint::parse_bytes(result.as_bytes(), 10).unwrap();
|
||||||
assert_eq!(s.as_bytes(), b.to_bytes_le());
|
assert_eq!(b.to_bytes_le(), s.as_bytes());
|
||||||
}
|
}
|
||||||
check("A", "65");
|
check("A", "65");
|
||||||
check("AA", "16705");
|
check("AA", "16705");
|
||||||
|
@ -2306,6 +2306,7 @@ mod biguint_tests {
|
||||||
a - b;
|
a - b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const M: u32 = ::std::u32::MAX;
|
||||||
const MUL_TRIPLES: &'static [(&'static [BigDigit],
|
const MUL_TRIPLES: &'static [(&'static [BigDigit],
|
||||||
&'static [BigDigit],
|
&'static [BigDigit],
|
||||||
&'static [BigDigit])] = &[
|
&'static [BigDigit])] = &[
|
||||||
|
@ -2323,8 +2324,8 @@ mod biguint_tests {
|
||||||
(&[-1, -1], &[-1], &[ 1, -1, -2]),
|
(&[-1, -1], &[-1], &[ 1, -1, -2]),
|
||||||
(&[-1, -1, -1], &[-1], &[ 1, -1, -1, -2]),
|
(&[-1, -1, -1], &[-1], &[ 1, -1, -1, -2]),
|
||||||
(&[-1, -1, -1, -1], &[-1], &[ 1, -1, -1, -1, -2]),
|
(&[-1, -1, -1, -1], &[-1], &[ 1, -1, -1, -1, -2]),
|
||||||
(&[-1/2 + 1], &[ 2], &[ 0, 1]),
|
(&[ M/2 + 1], &[ 2], &[ 0, 1]),
|
||||||
(&[0, -1/2 + 1], &[ 2], &[ 0, 0, 1]),
|
(&[0, M/2 + 1], &[ 2], &[ 0, 0, 1]),
|
||||||
(&[ 1, 2], &[ 1, 2, 3], &[1, 4, 7, 6]),
|
(&[ 1, 2], &[ 1, 2, 3], &[1, 4, 7, 6]),
|
||||||
(&[-1, -1], &[-1, -1, -1], &[1, 0, -1, -2, -1]),
|
(&[-1, -1], &[-1, -1, -1], &[1, 0, -1, -2, -1]),
|
||||||
(&[-1, -1, -1], &[-1, -1, -1, -1], &[1, 0, 0, -1, -2, -1, -1]),
|
(&[-1, -1, -1], &[-1, -1, -1, -1], &[1, 0, 0, -1, -2, -1, -1]),
|
||||||
|
@ -2338,8 +2339,8 @@ mod biguint_tests {
|
||||||
&'static [BigDigit])]
|
&'static [BigDigit])]
|
||||||
= &[
|
= &[
|
||||||
(&[ 1], &[ 2], &[], &[1]),
|
(&[ 1], &[ 2], &[], &[1]),
|
||||||
(&[ 1, 1], &[ 2], &[-1/2+1], &[1]),
|
(&[ 1, 1], &[ 2], &[ M/2+1], &[1]),
|
||||||
(&[ 1, 1, 1], &[ 2], &[-1/2+1, -1/2+1], &[1]),
|
(&[ 1, 1, 1], &[ 2], &[ M/2+1, M/2+1], &[1]),
|
||||||
(&[ 0, 1], &[-1], &[1], &[1]),
|
(&[ 0, 1], &[-1], &[1], &[1]),
|
||||||
(&[-1, -1], &[-2], &[2, 1], &[3])
|
(&[-1, -1], &[-2], &[2, 1], &[3])
|
||||||
];
|
];
|
||||||
|
@ -2980,6 +2981,7 @@ mod bigint_tests {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const M: u32 = ::std::u32::MAX;
|
||||||
static MUL_TRIPLES: &'static [(&'static [BigDigit],
|
static MUL_TRIPLES: &'static [(&'static [BigDigit],
|
||||||
&'static [BigDigit],
|
&'static [BigDigit],
|
||||||
&'static [BigDigit])] = &[
|
&'static [BigDigit])] = &[
|
||||||
|
@ -2997,8 +2999,8 @@ mod bigint_tests {
|
||||||
(&[-1, -1], &[-1], &[ 1, -1, -2]),
|
(&[-1, -1], &[-1], &[ 1, -1, -2]),
|
||||||
(&[-1, -1, -1], &[-1], &[ 1, -1, -1, -2]),
|
(&[-1, -1, -1], &[-1], &[ 1, -1, -1, -2]),
|
||||||
(&[-1, -1, -1, -1], &[-1], &[ 1, -1, -1, -1, -2]),
|
(&[-1, -1, -1, -1], &[-1], &[ 1, -1, -1, -1, -2]),
|
||||||
(&[-1/2 + 1], &[ 2], &[ 0, 1]),
|
(&[ M/2 + 1], &[ 2], &[ 0, 1]),
|
||||||
(&[0, -1/2 + 1], &[ 2], &[ 0, 0, 1]),
|
(&[0, M/2 + 1], &[ 2], &[ 0, 0, 1]),
|
||||||
(&[ 1, 2], &[ 1, 2, 3], &[1, 4, 7, 6]),
|
(&[ 1, 2], &[ 1, 2, 3], &[1, 4, 7, 6]),
|
||||||
(&[-1, -1], &[-1, -1, -1], &[1, 0, -1, -2, -1]),
|
(&[-1, -1], &[-1, -1, -1], &[1, 0, -1, -2, -1]),
|
||||||
(&[-1, -1, -1], &[-1, -1, -1, -1], &[1, 0, 0, -1, -2, -1, -1]),
|
(&[-1, -1, -1], &[-1, -1, -1, -1], &[1, 0, 0, -1, -2, -1, -1]),
|
||||||
|
@ -3012,8 +3014,8 @@ mod bigint_tests {
|
||||||
&'static [BigDigit])]
|
&'static [BigDigit])]
|
||||||
= &[
|
= &[
|
||||||
(&[ 1], &[ 2], &[], &[1]),
|
(&[ 1], &[ 2], &[], &[1]),
|
||||||
(&[ 1, 1], &[ 2], &[-1/2+1], &[1]),
|
(&[ 1, 1], &[ 2], &[ M/2+1], &[1]),
|
||||||
(&[ 1, 1, 1], &[ 2], &[-1/2+1, -1/2+1], &[1]),
|
(&[ 1, 1, 1], &[ 2], &[ M/2+1, M/2+1], &[1]),
|
||||||
(&[ 0, 1], &[-1], &[1], &[1]),
|
(&[ 0, 1], &[-1], &[1], &[1]),
|
||||||
(&[-1, -1], &[-2], &[2, 1], &[3])
|
(&[-1, -1], &[-2], &[2, 1], &[3])
|
||||||
];
|
];
|
||||||
|
|
|
@ -424,7 +424,7 @@ impl<T: FromStr + Clone + Integer + PartialOrd>
|
||||||
|
|
||||||
/// Parses `numer/denom` or just `numer`.
|
/// Parses `numer/denom` or just `numer`.
|
||||||
fn from_str(s: &str) -> Result<Ratio<T>, ParseRatioError> {
|
fn from_str(s: &str) -> Result<Ratio<T>, ParseRatioError> {
|
||||||
let mut split = s.splitn(1, '/');
|
let mut split = s.splitn(2, '/');
|
||||||
|
|
||||||
let n = try!(split.next().ok_or(ParseRatioError));
|
let n = try!(split.next().ok_or(ParseRatioError));
|
||||||
let num = try!(FromStr::from_str(n).map_err(|_| ParseRatioError));
|
let num = try!(FromStr::from_str(n).map_err(|_| ParseRatioError));
|
||||||
|
@ -442,7 +442,7 @@ impl<T: FromStrRadix + Clone + Integer + PartialOrd>
|
||||||
|
|
||||||
/// Parses `numer/denom` where the numbers are in base `radix`.
|
/// Parses `numer/denom` where the numbers are in base `radix`.
|
||||||
fn from_str_radix(s: &str, radix: u32) -> Result<Ratio<T>, ParseRatioError> {
|
fn from_str_radix(s: &str, radix: u32) -> Result<Ratio<T>, ParseRatioError> {
|
||||||
let split: Vec<&str> = s.splitn(1, '/').collect();
|
let split: Vec<&str> = s.splitn(2, '/').collect();
|
||||||
if split.len() < 2 {
|
if split.len() < 2 {
|
||||||
Err(ParseRatioError)
|
Err(ParseRatioError)
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue