131 {
132 LOG_UNIT_TEST;
133 typedef std::vector<std::string>::size_type sz;
134 typedef std::string str;
135
136 const std::vector<std::string> subsections1 =
137 input.get_subsection_names(
"Section1");
138
139 CPPUNIT_ASSERT_EQUAL(subsections1.size(), sz(1));
140 CPPUNIT_ASSERT_EQUAL(subsections1[0], str("SubSection1"));
141
142 const std::vector<std::string> subsections1_1 =
143 input.get_subsection_names(
"Section1/Subsection1");
144
145 CPPUNIT_ASSERT(subsections1_1.empty());
146
147 const std::vector<std::string> subsections2 =
148 input.get_subsection_names(
"Section2");
149
150 CPPUNIT_ASSERT_EQUAL(subsections2.size(), sz(2));
151 CPPUNIT_ASSERT_EQUAL(subsections2[0], str("Subsection2"));
152 CPPUNIT_ASSERT_EQUAL(subsections2[1], str("Subsection4"));
153
154 const std::vector<std::string> subsections2_2 =
155 input.get_subsection_names(
"Section2/Subsection2");
156
157 CPPUNIT_ASSERT_EQUAL(subsections2_2.size(), sz(1));
158 CPPUNIT_ASSERT_EQUAL(subsections2_2[0], str("Subsection3"));
159
160 const std::vector<std::string> subsections2_4 =
161 input.get_subsection_names(
"Section2/Subsection4");
162
163 CPPUNIT_ASSERT(subsections2_4.empty());
164
165 const std::vector<std::string> subsections3 =
166 input.get_subsection_names(
"Section3");
167
168 CPPUNIT_ASSERT(subsections3.empty());
169 }