def test_nominal(self, mocker, open, last, expected_body): mocker.patch(f"{CLASS_DEFINITION_PATH}.open", new_callable=lambda: open) mocker.patch(f"{CLASS_DEFINITION_PATH}.last", new_callable=lambda: last) bc = BaseCandleFactory() assert bc.body == expected_body
def test_parent__call(self, mocker): parent_on_new_tick = mocker.patch( "estrade.graph.base_indicator.BaseIndicatorValue.on_new_tick") bc = BaseCandleFactory() new_tick = TickFactory() bc.on_new_tick(new_tick) assert parent_on_new_tick.call_args_list == [call(new_tick)]
def test_base_indicator_value_call(self, mocker): init_mock = mocker.patch.object(BaseIndicatorValue, "__init__", wraps=BaseIndicatorValue.__init__) frame_mock = mocker.Mock() frame_mock.first_tick = "first_tick" frame_mock.last_tick = "last_tick" indicator_mock = mocker.Mock() bc = BaseCandleFactory(frame=frame_mock, indicator=indicator_mock) assert init_mock.call_args_list == [ call(bc, frame=frame_mock, indicator=indicator_mock) ]
def test_red(self, mocker): mocker.patch(f"{CLASS_DEFINITION_PATH}.open", new_callable=lambda: 100) mocker.patch(f"{CLASS_DEFINITION_PATH}.last", new_callable=lambda: 99) bc = BaseCandleFactory() assert bc.color == CandleColor.RED
def test_no_last(self, mocker): mocker.patch(f"{CLASS_DEFINITION_PATH}.last", new_callable=lambda: None) bc = BaseCandleFactory() assert bc.color is None
def test_close(self): bc = BaseCandleFactory() with pytest.raises(NotImplementedError): bc.close
def test_no_open(self, mocker): mocker.patch(f"{CLASS_DEFINITION_PATH}.open", new_callable=lambda: None) bc = BaseCandleFactory() assert bc.tail is None
def test_nominal(self, mocker, high, low, expected_height): mocker.patch(f"{CLASS_DEFINITION_PATH}.high", new_callable=lambda: high) mocker.patch(f"{CLASS_DEFINITION_PATH}.low", new_callable=lambda: low) bc = BaseCandleFactory() assert bc.height == expected_height