mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-27 15:37:44 +00:00
test: add 4 tests for QuantTrace and QlibQuantHypothesis
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
"""Tests for quant_proposal — QuantTrace, QlibQuantHypothesis."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
|
||||
PROJECT_ROOT = Path(__file__).parent.parent.parent
|
||||
sys.path.insert(0, str(PROJECT_ROOT))
|
||||
|
||||
|
||||
class TestQuantTrace:
|
||||
def test_init_factor_count_zero(self):
|
||||
from rdagent.scenarios.qlib.proposal.quant_proposal import QuantTrace
|
||||
trace = QuantTrace(scen=MagicMock())
|
||||
assert trace.get_factor_count() == 0
|
||||
assert trace.controller is not None
|
||||
|
||||
def test_increment_factor_count(self):
|
||||
from rdagent.scenarios.qlib.proposal.quant_proposal import QuantTrace
|
||||
trace = QuantTrace(scen=MagicMock())
|
||||
trace.increment_factor_count()
|
||||
assert trace.get_factor_count() == 1
|
||||
trace.increment_factor_count()
|
||||
assert trace.get_factor_count() == 2
|
||||
|
||||
|
||||
class TestQlibQuantHypothesis:
|
||||
def test_construction_fields(self):
|
||||
from rdagent.scenarios.qlib.proposal.quant_proposal import QlibQuantHypothesis
|
||||
h = QlibQuantHypothesis(
|
||||
hypothesis="test hypothesis",
|
||||
reason="test reason",
|
||||
concise_reason="cr",
|
||||
concise_observation="co",
|
||||
concise_justification="cj",
|
||||
concise_knowledge="ck",
|
||||
action="factor",
|
||||
)
|
||||
assert h.hypothesis == "test hypothesis"
|
||||
assert h.reason == "test reason"
|
||||
assert h.action == "factor"
|
||||
assert h.concise_reason == "cr"
|
||||
|
||||
def test_str_contains_action(self):
|
||||
from rdagent.scenarios.qlib.proposal.quant_proposal import QlibQuantHypothesis
|
||||
h = QlibQuantHypothesis(
|
||||
hypothesis="h", reason="r", concise_reason="cr",
|
||||
concise_observation="co", concise_justification="cj",
|
||||
concise_knowledge="ck", action="model",
|
||||
)
|
||||
s = str(h)
|
||||
assert "Chosen Action: model" in s
|
||||
assert "Hypothesis: h" in s
|
||||
assert "Reason: r" in s
|
||||
Reference in New Issue
Block a user