@@ -152,6 +152,31 @@ namespace cppstringstests
152152 Assert::AreEqual (CppWString (L' c' ).c_str (), wt[L' c' ].c_str ());
153153 }
154154
155+ TEST_METHOD (constructor_09)
156+ {
157+ std::string keys (" abC" );
158+ std::vector<std::string> values{ " AA" , " BBB" , " c" };
159+ std::string not_translated (" dE" );
160+ pcs::CppString::TransTable t (keys.begin (), keys.end (), values.begin (), values.end (), not_translated.cbegin (), not_translated.cend ());
161+ Assert::AreEqual (CppString (" AA" ).c_str (), t[' a' ].c_str ());
162+ Assert::AreEqual (CppString (" BBB" ).c_str (), t[' b' ].c_str ());
163+ Assert::AreEqual (CppString (' c' ).c_str (), t[' C' ].c_str ());
164+ Assert::AreEqual (CppString ().c_str (), t[' d' ].c_str ());
165+ Assert::AreEqual (CppString ().c_str (), t[' E' ].c_str ());
166+ Assert::AreEqual (CppString (' c' ).c_str (), t[' c' ].c_str ());
167+
168+ std::wstring wkeys (L" abC" );
169+ std::vector<std::wstring> wvalues{ L" AA" , L" BBB" , L" c" };
170+ std::wstring wnot_translated (L" dE" );
171+ pcs::CppWString::TransTable wt (wkeys.begin (), wkeys.end (), wvalues.begin (), wvalues.end (), wnot_translated.cbegin (), wnot_translated.cend ());
172+ Assert::AreEqual (CppWString (L" AA" ).c_str (), wt[L' a' ].c_str ());
173+ Assert::AreEqual (CppWString (L" BBB" ).c_str (), wt[L' b' ].c_str ());
174+ Assert::AreEqual (CppWString (L' c' ).c_str (), wt[L' C' ].c_str ());
175+ Assert::AreEqual (CppWString ().c_str (), wt[L' d' ].c_str ());
176+ Assert::AreEqual (CppWString ().c_str (), wt[L' E' ].c_str ());
177+ Assert::AreEqual (CppWString (L' c' ).c_str (), wt[L' c' ].c_str ());
178+ }
179+
155180
156181 };
157182}
0 commit comments