MCPcopy Create free account
hub / github.com/daniele77/cli / BOOST_AUTO_TEST_CASE

Function BOOST_AUTO_TEST_CASE

test/test_cli.cpp:94–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92BOOST_AUTO_TEST_SUITE(CliSuite)
93
94BOOST_AUTO_TEST_CASE(Basics)
95{
96 auto rootMenu = make_unique<Menu>("cli");
97 rootMenu->Insert("int_cmd", [](ostream& out, int par){ out << par << "\n"; }, "int_cmd help", {"int_par"} );
98 rootMenu->Insert("string_cmd", [](ostream& out, const string& par){ out << par << "\n"; }, "string_cmd help", {"string_par"} );
99
100 Cli cli(std::move(rootMenu));
101
102 stringstream oss;
103
104 UserInput(cli, oss, "help");
105 BOOST_CHECK_EQUAL(ExtractFirstPrompt(oss), "cli");
106 BOOST_CHECK_EQUAL(ExtractLastPrompt(oss), "cli");
107 BOOST_CHECK(ExtractContent(oss).find("int_cmd") != string::npos);
108 BOOST_CHECK(ExtractContent(oss).find("<int_par>") != string::npos);
109 BOOST_CHECK(ExtractContent(oss).find("string_cmd") != string::npos);
110 BOOST_CHECK(ExtractContent(oss).find("<string_par>") != string::npos);
111
112 UserInput(cli, oss, "int_cmd 42");
113 BOOST_CHECK_EQUAL(ExtractFirstPrompt(oss), "cli");
114 BOOST_CHECK_EQUAL(ExtractLastPrompt(oss), "cli");
115 BOOST_CHECK_EQUAL(ExtractContent(oss), "42");
116
117 UserInput(cli, oss, "int_cmd wrong_int_parameter");
118 BOOST_CHECK_EQUAL(ExtractFirstPrompt(oss), "cli");
119 BOOST_CHECK_EQUAL(ExtractLastPrompt(oss), "cli");
120 BOOST_CHECK(ExtractContent(oss).find("wrong command:") != string::npos);
121
122 UserInput(cli, oss, "int_cmd 42 0");
123 BOOST_CHECK_EQUAL(ExtractFirstPrompt(oss), "cli");
124 BOOST_CHECK_EQUAL(ExtractLastPrompt(oss), "cli");
125 BOOST_CHECK(ExtractContent(oss).find("wrong command:") != string::npos);
126
127 UserInput(cli, oss, "string_cmd foo");
128 BOOST_CHECK_EQUAL(ExtractFirstPrompt(oss), "cli");
129 BOOST_CHECK_EQUAL(ExtractLastPrompt(oss), "cli");
130 BOOST_CHECK_EQUAL(ExtractContent(oss), "foo");
131
132 UserInput(cli, oss, R"(string_cmd "foo 'bar' \"foo\\2")");
133 BOOST_CHECK_EQUAL(ExtractFirstPrompt(oss), "cli");
134 BOOST_CHECK_EQUAL(ExtractLastPrompt(oss), "cli");
135 BOOST_CHECK_EQUAL(ExtractContent(oss), R"(foo 'bar' "foo\2)");
136}
137
138BOOST_AUTO_TEST_CASE(parameters)
139{

Callers

nothing calls this directly

Calls 8

UserInputFunction · 0.85
ExtractFirstPromptFunction · 0.85
ExtractLastPromptFunction · 0.85
ExtractContentFunction · 0.85
StdExceptionHandlerMethod · 0.80
InsertMethod · 0.45
EnterActionMethod · 0.45
ExitActionMethod · 0.45

Tested by

no test coverage detected