def test_mirr_missing_values(): response = handlers.mirr_handler( { "finance_rate": 0.12, "reinvest_rate": 0.10 }, None) assert 'error' in response assert response.get('error') == REQUIRED_PROPERTY_ERR.format("values")
def test_mirr_values_too_few(): response = handlers.mirr_handler( { "values": [100], "reinvest_rate": 0.10, "finance_rate": 0.12 }, None) assert 'error' in response assert "is too short" in response.get('error')
def test_mirr_missing_reinvest_rate(): response = handlers.mirr_handler( { "values": [-1000, 300, 400, 400, 300], "finance_rate": 0.12, }, None) assert 'error' in response assert response.get('error') == REQUIRED_PROPERTY_ERR.format( "reinvest_rate")
def test_mirr_handler(): # TODO test data types & empty values array response = handlers.mirr_handler( { "values": [-1000, 300, 400, 400, 300], "finance_rate": 0.12, "reinvest_rate": 0.10 }, None) assert 'result' in response assert round(response.get('result'), 5) == 0.12876
def test_mirr_values_missing_neg(): response = handlers.mirr_handler( { "values": [100, 200], "reinvest_rate": 0.10, "finance_rate": 0.12 }, None) assert 'error' in response assert response.get( 'error' ) == "MIRR requires at least one positive and one negative value"