Files
OpenBB/tests/test_portfolio_optimization/test_optimizer_view.py
colin99d 81337b4fdd Improved Testing Framework (#665)
* Reduced test time by 85% using vcrpy

* Refactored tests with decorator

* Added vcrpy dependencies

* Fixed issues with tests

* Fixed tests not running in local

Co-authored-by: Colin Delahunty <colindelahunty@Colins-Air.attlocal.net>
2021-08-13 12:05:32 -04:00

74 lines
2.4 KiB
Python

from unittest import TestCase, mock
import vcr
from gamestonk_terminal.portfolio.portfolio_optimization import optimizer_view
from tests.helpers import check_print
class TestOptimizerView(TestCase):
@check_print(assert_in="TSLA")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/test_equal_weights.yaml"
)
def test_equal_weights(self):
optimizer_view.equal_weight(["TSLA", "GME"], [])
@check_print(assert_in="TSLA")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/test_property_weights.yaml",
record_mode="new_episodes",
)
def test_property_weighting(self):
optimizer_view.property_weighting(["TSLA", "GME"], ["-p", "previousClose"])
@check_print(assert_in="TSLA")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/general1.yaml",
record_mode="new_episodes",
)
def test_max_sharpe(self):
optimizer_view.max_sharpe(["TSLA", "GME"], [])
@check_print(assert_in="TSLA")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/general1.yaml",
record_mode="new_episodes",
)
def test_min_volatility(self):
optimizer_view.min_volatility(["TSLA", "GME"], [])
@check_print(assert_in="TSLA")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/general1.yaml",
record_mode="new_episodes",
)
def test_max_quadratic_utility(self):
optimizer_view.max_quadratic_utility(["TSLA", "GME"], [])
@check_print(assert_in="The minimum volatility")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/general1.yaml",
record_mode="new_episodes",
)
def test_efficient_risk(self):
optimizer_view.efficient_risk(["TSLA", "GME"], [])
@check_print(assert_in="TSLA")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/general1.yaml",
record_mode="new_episodes",
)
def test_efficient_return(self):
optimizer_view.efficient_return(["TSLA", "GME"], [])
@check_print(assert_in="\n")
@vcr.use_cassette(
"tests/cassettes/test_port_opt/test_opt_view/test_show_eff.yaml",
record_mode="new_episodes",
)
@mock.patch("matplotlib.pyplot.show")
def test_show_ef(self, mock_mlp):
# pylint: disable=unused-argument
optimizer_view.show_ef(["TSLA", "GME"], [])