10using namespace Microsoft::VisualStudio::CppUnitTestFramework;
17 TEST_CLASS_INITIALIZE (ClassInitialize)
19 Logger::WriteMessage (
"MapTest class initialize.\n");
22 TEST_CLASS_CLEANUP (ClassCleanup)
24 Logger::WriteMessage (
"MapTest class cleanup.\n");
27 TEST_METHOD_INITIALIZE (MethodInitialize)
29 Logger::WriteMessage (
"MapTest method initialize.\n");
32 TEST_METHOD_CLEANUP (MethodCleanup)
34 Logger::WriteMessage (
"MapTest method cleanup.\n");
37 TEST_METHOD (MapTest0)
51 for (
int i = 0; i < 30; i++)
55 for (
int i = 0; i < map.
Size (); i++)
60 ZeroMemory (szMD5, 40);
61 CopyMemory (szMD5, value->_byMD5, 32);
62 output.
Format (_T (
"A)MD5:%S value:%d\n"),
63 szMD5, *(value->_value));
64 Logger::WriteMessage (output.
Ctr ());
66 Logger::WriteMessage (
"----------------\n");
68 for (
int i = 30; i >= 0; i--)
72 for (
int i = 30; i >= 0; i--)
76 for (
int i = 0; i < map.
Size (); i++)
81 ZeroMemory (szMD5, 40);
82 CopyMemory (szMD5, value->_byMD5, 32);
83 output.
Format (_T (
"a)MD5:%S value:%d\n"),
84 szMD5, *(value->_value));
85 Logger::WriteMessage (output.
Ctr ());
87 Logger::WriteMessage (
"----------------\n");
138 TEST_METHOD (MapTest1)
142 for (
int i = 1; i <= 10; i++)
150 Assert::AreEqual<int> (i++, itr, _T (
"invalid value get.\n"));
154 for (
auto& itr : map)
156 Assert::AreEqual<int> (i++, itr, _T (
"invalid value get.\n"));
159 for (
int i = 0; i < 5; i++)
167 Assert::AreEqual<int> (i++, itr, _T (
"invalid value get.\n"));
171 for (
auto& itr : map)
173 Assert::AreEqual<int> (i++, itr, _T (
"invalid value get.\n"));
181 Assert::AreEqual<SIZE_T> (0, map.
Size (), _T (
"invalid size.\n"));
183 for (
int i = 4; i >= 0; i--)
188 for (
int i = 5; i < 10; i++)
195 for (
int i = 0; i < 10; i++)
203 Assert::AreEqual<int> (i++, itr, _T (
"invalid value get.\n"));
207 for (
auto& itr : map)
209 Assert::AreEqual<int> (i++, itr, _T (
"invalid value get.\n"));
213 for (
int i = 0; i < map.
Size (); i++)
215 int* piVal = map.
Get (i);
216 Assert::AreEqual<int> (i, *piVal);
217 if (*piVal == 2) iTarget = *piVal;
221 Assert::AreEqual<SIZE_T> (9, map.
Size ());
224 TEST_METHOD (MapTest2)
230 for (
int i = 0; i < 10; i++)
232 data.
Format (_T (
"DATA No.%02d\n"), i);
239 for (
auto& item2 : map2)
241 const auto& item1 = map1[index++];
242 Assert::IsTrue (0 == lstrcmp ((*item1).Ctr (), item2.Ctr ()));
248 for (
auto itr = map2.
begin (); itr != map2.
end (); ++itr)
250 data.
Format (_T (
"DATA No.%02d\n"), index++);
251 Logger::WriteMessage (data.
Ctr ());
252 Assert::IsTrue (0 == lstrcmp (data.
Ctr (), (*itr).Ctr ()));
256 for (
auto& itr = map2.
begin (); itr != map2.
end (); ++itr)
258 data.
Format (_T (
"DATA No.%02d\n"), index++);
259 Logger::WriteMessage (data.
Ctr ());
261 Assert::IsTrue (0 == lstrcmp (data.
Ctr (), (*itr).Ctr ()));
267 data.
Format (_T (
"DATA No.%02d\n"), index++);
268 Logger::WriteMessage (data.
Ctr ());
269 Assert::IsTrue (0 == lstrcmp (data.
Ctr (), itr.Ctr ()));
275 data.
Format (_T (
"DATA No.%02d\n"), index++);
276 Logger::WriteMessage (data.
Ctr ());
277 Assert::IsTrue (0 == lstrcmp (data.
Ctr (), itr.Ctr ()));
文字列に関するWindowsAPIを集約したクラス
文字列に関するWindowsAPIを集約したクラス
TString &APIENTRY Format(LPCTSTR format,...)
フォーマットに従ってパラメータを文字列化します。
LPCTSTR APIENTRY Ctr() const
内部で確保している文字列ポインタを取得します。
T *APIENTRY Get(SIZE_T index) const
指定したインデックスの値を取得
MapNode< T > * GetNode(SIZE_T index)
MapIterator< T > APIENTRY end() const
for(auto n : list){}を使用できるようにするインターフェース
VOID APIENTRY Clear()
領域の開放
VOID APIENTRY Remove(T &item)
Map<T>から値を削除
VOID APIENTRY Add(T &item)
Map<T>へ値を追加
SIZE_T APIENTRY Size() const
サイズを取得
MapIterator< T > APIENTRY begin() const
for(auto n : map){}を使用できるようにするインターフェース