diff --git a/src/formatting.rs b/src/formatting.rs index dad87e5..dcb740f 100644 --- a/src/formatting.rs +++ b/src/formatting.rs @@ -49,23 +49,6 @@ pub fn pretty_eval(input: &str, max_digits: usize) -> Result { ) .replace('e', " * 10^")) } -#[test] -fn test_character_readdition() { - assert_eq!(pretty_eval(" = 11", 10).unwrap(), " = 11"); - assert_eq!(pretty_eval(" &= 11", 10).unwrap(), " & = 11"); - assert_eq!(pretty_eval(" & 11", 10).unwrap(), " & 11"); - assert_eq!(pretty_eval(" & 11 \\", 10).unwrap(), " & 11 \\"); -} -#[test] -fn test_basic_up_to_999() { - assert_eq!(pretty_eval("1", 10).unwrap(), "1"); - assert_eq!(pretty_eval("10", 10).unwrap(), "10"); - assert_eq!(pretty_eval("100", 10).unwrap(), "100"); - assert_eq!(pretty_eval("999", 10).unwrap(), "999"); - assert_eq!(pretty_eval("1000", 10).unwrap(), "1 * 10^3"); - - assert_eq!(pretty_eval("11.111111", 10).unwrap(), "11.111111"); -} pub fn get_significant_digits(n: &Float) -> usize { let raw_string = n.to_string().replace('.', ""); @@ -101,23 +84,45 @@ pub fn get_significant_digits(n: &Float) -> usize { } #[cfg(test)] -fn eval(s: &str) -> Float { - crate::nodes::eval(s).unwrap() -} +mod tests { + use super::*; + fn eval(s: &str) -> Float { + crate::nodes::eval(s).unwrap() + } -#[test] -fn test_get_significant_digits() { - let many_zeros = eval("14.00643 + 1.00784 * 4 + 35.446 + 15.9994 * 4"); - assert_eq!(many_zeros.to_f64(), 117.48139); - let many_nines = eval("12.0096 + 15.9994 * 2"); - assert_eq!(many_nines.to_f64(), 44.0084); - let zero_nine_zero = eval("2+12321(5+123)"); - assert_eq!(zero_nine_zero.to_f64(), 1577090.0); - let test_4 = eval("12.0096 + 1.00784 * 3 + 12.0096 + 1.00784 * 2 + 15.9994 + 1.00784"); - assert_eq!(test_4.to_f64(), 46.06564); + #[test] + fn character_readdition() { + assert_eq!(pretty_eval(" = 11", 10).unwrap(), " = 11"); + assert_eq!(pretty_eval(" &= 11", 10).unwrap(), " & = 11"); + assert_eq!(pretty_eval(" & 11", 10).unwrap(), " & 11"); + assert_eq!(pretty_eval(" & 11 \\", 10).unwrap(), " & 11 \\"); + } - assert_eq!(get_significant_digits(&many_zeros), 8); - assert_eq!(get_significant_digits(&many_nines), 6); - assert_eq!(get_significant_digits(&zero_nine_zero), 6); - assert_eq!(get_significant_digits(&test_4), 7); + #[test] + fn basic_output_up_to_999() { + assert_eq!(pretty_eval("1", 10).unwrap(), "1"); + assert_eq!(pretty_eval("10", 10).unwrap(), "10"); + assert_eq!(pretty_eval("100", 10).unwrap(), "100"); + assert_eq!(pretty_eval("999", 10).unwrap(), "999"); + assert_eq!(pretty_eval("1000", 10).unwrap(), "1 * 10^3"); + + assert_eq!(pretty_eval("11.111111", 10).unwrap(), "11.111111"); + } + + #[test] + fn basic_get_significant_digits() { + let many_zeros = eval("14.00643 + 1.00784 * 4 + 35.446 + 15.9994 * 4"); + assert_eq!(many_zeros.to_f64(), 117.48139); + let many_nines = eval("12.0096 + 15.9994 * 2"); + assert_eq!(many_nines.to_f64(), 44.0084); + let zero_nine_zero = eval("2+12321(5+123)"); + assert_eq!(zero_nine_zero.to_f64(), 1577090.0); + let test_4 = eval("12.0096 + 1.00784 * 3 + 12.0096 + 1.00784 * 2 + 15.9994 + 1.00784"); + assert_eq!(test_4.to_f64(), 46.06564); + + assert_eq!(get_significant_digits(&many_zeros), 8); + assert_eq!(get_significant_digits(&many_nines), 6); + assert_eq!(get_significant_digits(&zero_nine_zero), 6); + assert_eq!(get_significant_digits(&test_4), 7); + } }