"""策略1中证 A500 收盘价图测试。""" from datetime import date from sidecar.models import KlineBar from strategy.a500_close_chart import A500_START_DATE, ClosePoint, build_svg_line_chart, filter_close_points def test_4_1_filter_a500_close_points() -> None: """ 功能说明:验证策略1会过滤成立日之前和空收盘价数据。 参数说明:无。 返回值说明:无返回值。 注意事项:用例编号 4-1。 """ bars = [ KlineBar("sh000510", "day", date(2024, 9, 20), 1, 1, 1, 1, 1, 1, "fake"), KlineBar("sh000510", "day", A500_START_DATE, 1, 1, 1, None, 1, 1, "fake"), KlineBar("sh000510", "day", date(2024, 9, 24), 1, 1, 1, 1000.5, 1, 1, "fake"), ] points = filter_close_points(bars, A500_START_DATE) assert points == [ClosePoint(date(2024, 9, 24), 1000.5)] def test_4_2_build_svg_line_chart() -> None: """ 功能说明:验证策略1可生成 SVG 折线图文本。 参数说明:无。 返回值说明:无返回值。 注意事项:用例编号 4-2。 """ points = [ ClosePoint(date(2024, 9, 23), 1000.0), ClosePoint(date(2024, 9, 24), 1010.0), ClosePoint(date(2024, 9, 25), 990.0), ] svg = build_svg_line_chart(points, "中证 A500 指数成立以来收盘价") assert svg.startswith("