def test_exit_position_without_account_value(): # There should always be an account available if we are exiting the trade. mock_account_value_list = [] mock_aux = 100 mock_close = 11 mock_comission = 0 with pytest.raises(IndexError): exit_position(mock_account_value_list, mock_close, mock_aux, mock_comission)
def test_exit_position_as_second_tick(): mock_account_value_list = [500] mock_aux = 100 mock_close = 11 mock_comission = 0 in_trade, new_aux, new_account_value, fee = exit_position( mock_account_value_list, mock_close, mock_aux, mock_comission) assert in_trade is False assert new_aux == 0 assert fee == 0.0 assert new_account_value == 1600
def test_exit_position_basic(): mock_account_value_list = [1000, 0] mock_aux = 100 mock_close = 11 mock_comission = 0 in_trade, new_aux, new_account_value, fee = exit_position( mock_account_value_list, mock_close, mock_aux, mock_comission) assert in_trade is False assert new_aux == 0 assert fee == 0.0 assert new_account_value == 1100