calculator-lib 0.1.1

A simple calculator library.
Documentation
#[cfg(test)]
mod test {
    use calculator_lib::Expression;

    use calculator_lib::Calculator;

    #[test]
    fn brackets() {
        let calculator = Calculator::new("(2)(9)").unwrap();

        assert_eq!(
            calculator.into_inner(),
            vec![
                Expression::Bracket(vec![Expression::Number(2.0)]),
                Expression::Bracket(vec![Expression::Number(9.0)])
            ]
        )
    }

    #[test]
    fn operator_order() {
        let calculator = Calculator::new("5 + 2 * 10").unwrap();

        assert_eq!(calculator.calculate(None).unwrap(), 25.)
    }

    #[test]
    fn eq1() {
        let calculator = Calculator::new("(3^2 + 5^2) * (4^3 - 2^3) + 100/5 - 7").unwrap();

        assert_eq!(calculator.calculate(None).unwrap(), 1917.);
    }

    #[test]
    fn eq2() {
        let calculator = Calculator::new(
            "((5^3 + 4^2) * (12^2 - 6^3)) / (3^2 + 7) + (144/12 + 8^2) - (2^4 * 7) + 3^3",
        )
        .unwrap();

        assert_eq!(calculator.calculate(None).unwrap(), -643.5);
    }

    #[test]
    fn floating_point() {
        let calculator = Calculator::new(
            "6.2 - 5.2",
        )
        .unwrap();

        assert_eq!(calculator.calculate(None).unwrap(), 1.);
    }

    #[test]
    fn neg() {
        let calculator = Calculator::new(
            "-5.2",
        )
        .unwrap();

        assert_eq!(calculator.calculate(None).unwrap(), -5.2);
    }
}