Exemplo n.º 1
0
    def test_parent__call(self, mocker):
        parent_on_new_tick = mocker.patch(
            "estrade.graph.base_indicator.BaseIndicatorValue.on_new_tick"
        )
        smav = SimpleMovingAverageValueFactory()

        new_tick = TickFactory()

        smav.on_new_tick(new_tick, True)
        assert parent_on_new_tick.call_args_list == [call(new_tick, True)]
Exemplo n.º 2
0
    def test_update_extended_closes(self):
        smav = SimpleMovingAverageValueFactory()
        smav.last_closes = [1, 2, 3]

        new_tick = TickFactory(bid=3, ask=5)

        smav.frame.last_tick = new_tick
        smav.on_new_tick(new_tick, True)

        assert smav.extended_closes == [1, 2, 3, 4]
Exemplo n.º 3
0
    def test_exceed_closes_count(self, mocker):
        mocker.patch(
            f"{CLASS_DEFINITION_PATH}.extended_closes",
            new_callable=lambda: [1, 2, 3],
        )
        smav = SimpleMovingAverageValueFactory()

        sma_value = smav.get_value(periods=5)

        assert sma_value is None
Exemplo n.º 4
0
    def test_extended_closes_first(self, mocker):
        frame_mock = mocker.Mock()
        frame_mock.previous_frame = None
        frame_mock.last_tick.value = 1
        smav = SimpleMovingAverageValueFactory(frame=frame_mock)

        assert smav.extended_closes == [1]
Exemplo n.º 5
0
    def test_last_closes_with_previous(self, mocker):
        previous_value_mock = mocker.Mock()
        previous_value_mock.extended_closes = [1, 2, 3]
        frame_mock = mocker.Mock()
        frame_mock.previous_frame.indicators = {"sma": previous_value_mock}

        sma = SimpleMovingAverageFactory(ref="sma", max_periods=3)
        smav = SimpleMovingAverageValueFactory(frame=frame_mock, indicator=sma)

        assert smav.last_closes == [2, 3]
Exemplo n.º 6
0
    def test_base_indicator_value_call(self, mocker):
        init_mock = mocker.patch.object(
            BaseIndicatorValue, "__init__", wraps=BaseIndicatorValue.__init__
        )

        frame_mock = mocker.Mock()
        frame_mock.previous_frame.indicators = {}
        frame_mock.previous_frame.previous_frame = None
        indicator_mock = mocker.Mock()
        indicator_mock.max_periods = 100
        smav = SimpleMovingAverageValueFactory(
            frame=frame_mock, indicator=indicator_mock
        )

        assert init_mock.call_args_list == [
            call(smav, frame=frame_mock, indicator=indicator_mock)
        ]
Exemplo n.º 7
0
    def test_last_closes_first(self, mocker):
        frame_mock = mocker.Mock()
        frame_mock.previous_frame = None
        smav = SimpleMovingAverageValueFactory(frame=frame_mock)

        assert smav.last_closes == []