MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / test_reasoning

Function test_reasoning

smallthinker/tests/test-chat-parser.cpp:48–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46}
47
48static void test_reasoning() {
49 {
50 common_chat_msg_parser builder("<tnk>Cogito</tnk>Ergo sum", /* is_partial= */ false, {
51 /* .format = */ COMMON_CHAT_FORMAT_CONTENT_ONLY,
52 /* .reasoning_format = */ COMMON_REASONING_FORMAT_NONE,
53 /* .reasoning_in_content = */ false,
54 /* .thinking_forced_open = */ false,
55 });
56 assert_equals(false, builder.try_parse_reasoning("<tnk>", "</tnk>"));
57 assert_equals("<tnk>Cogito</tnk>Ergo sum", builder.consume_rest());
58 }
59 {
60 common_chat_msg_parser builder("<tnk>Cogito</tnk>Ergo sum", /* is_partial= */ false, {
61 /* .format = */ COMMON_CHAT_FORMAT_CONTENT_ONLY,
62 /* .reasoning_format = */ COMMON_REASONING_FORMAT_DEEPSEEK,
63 /* .reasoning_in_content = */ false,
64 /* .thinking_forced_open = */ false,
65 });
66 assert_equals(true, builder.try_parse_reasoning("<tnk>", "</tnk>"));
67 assert_equals(std::string("Cogito"), builder.result().reasoning_content);
68 assert_equals("Ergo sum", builder.consume_rest());
69 }
70 {
71 common_chat_msg_parser builder("Cogito</tnk>Ergo sum", /* is_partial= */ false, {
72 /* .format = */ COMMON_CHAT_FORMAT_CONTENT_ONLY,
73 /* .reasoning_format = */ COMMON_REASONING_FORMAT_NONE,
74 /* .reasoning_in_content = */ false,
75 /* .thinking_forced_open = */ false,
76 });
77 assert_equals(false, builder.try_parse_reasoning("<tnk>", "</tnk>"));
78 assert_equals("Cogito</tnk>Ergo sum", builder.consume_rest());
79 }
80 {
81 common_chat_msg_parser builder("Cogito</tnk>Ergo sum", /* is_partial= */ false, {
82 /* .format = */ COMMON_CHAT_FORMAT_CONTENT_ONLY,
83 /* .reasoning_format = */ COMMON_REASONING_FORMAT_DEEPSEEK,
84 /* .reasoning_in_content = */ false,
85 /* .thinking_forced_open = */ true,
86 });
87 assert_equals(true, builder.try_parse_reasoning("<tnk>", "</tnk>"));
88 assert_equals(std::string("Cogito"), builder.result().reasoning_content);
89 assert_equals("Ergo sum", builder.consume_rest());
90 }
91 {
92 common_chat_msg_parser builder("Cogito</tnk>Ergo sum", /* is_partial= */ false, {
93 /* .format = */ COMMON_CHAT_FORMAT_CONTENT_ONLY,
94 /* .reasoning_format = */ COMMON_REASONING_FORMAT_DEEPSEEK,
95 /* .reasoning_in_content = */ true,
96 /* .thinking_forced_open = */ true,
97 });
98 assert_equals(true, builder.try_parse_reasoning("<tnk>", "</tnk>"));
99 assert_equals("<think>Cogito</think>", builder.result().content);
100 assert_equals("Ergo sum", builder.consume_rest());
101 }
102}
103
104static void test_regex() {
105 auto test_throws = [](const std::string & input, const std::string & regex, const std::string & expected_exception_pattern = "") {

Callers 1

mainFunction · 0.85

Calls 4

try_parse_reasoningMethod · 0.80
consume_restMethod · 0.80
assert_equalsFunction · 0.70
stringClass · 0.50

Tested by

no test coverage detected