From c75432ca9f6feb890d6cdcb327f28aaba6b8cff8 Mon Sep 17 00:00:00 2001 From: Masaru Tsuchiyama Date: Sat, 26 Jan 2019 06:08:33 +0900 Subject: [PATCH] =?UTF-8?q?CNativeW::Clear=20=E3=81=AE=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=81=AB=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E3=80=81=E3=83=86=E3=82=B9=E3=83=88=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/unittests/test-cnative.cpp | 68 +++++++++++++++++++++++++------- 1 file changed, 53 insertions(+), 15 deletions(-) diff --git a/tests/unittests/test-cnative.cpp b/tests/unittests/test-cnative.cpp index 870b4ff068..4c6b631361 100644 --- a/tests/unittests/test-cnative.cpp +++ b/tests/unittests/test-cnative.cpp @@ -26,29 +26,67 @@ #include "mem/CNativeW.h" #include "mem/CNativeA.h" +/*! + CNativeW::Clear のデータサイズのクリアをテストする + + 1-1. 固定データを追加する + 1-2. バッファの状態を取得する + 1-3. バッファの状態をチェックする + + 2-1. CNativeW をクリアする + 2-2. クリア後のバッファの状態を取得する + 2-3. クリア後のバッファの状態をチェックする + + 3-1. 固定データを再追加する + 3-2. バッファの状態を取得する + 3-3. バッファの状態をチェックする +*/ TEST(CNativeW, Clear) { + constexpr const WCHAR* fixedPatternStr = L"abc"; + constexpr const int fixedPatternLen = 3; + CNativeW stringW; - stringW.AppendString(L"abc"); + + // 1-1. 固定データを追加する + + stringW.AppendString(fixedPatternStr); // 固定データを追加する + + // 1-2. バッファの状態を取得する - /* Clear() 前にバッファサイズを取得する */ - auto orgCapacity = stringW.capacity(); + auto orgCapacity = stringW.capacity(); // データ追加後にバッファサイズを取得する + auto orgLength = stringW.GetStringLength(); // Clear() 前にデータサイズを取得する - /* Clear() 前にデータサイズを取得する */ - auto orgLength = stringW.GetStringLength(); - EXPECT_EQ(orgLength, 3); + // 1-3. バッファの状態をチェックする - stringW.Clear(); + EXPECT_GT(orgCapacity, 0); // データ追加後のバッファサイズを確認する + EXPECT_EQ(orgLength, fixedPatternLen); // データ追加後のデータサイズを確認する - /* Clear() 後にバッファサイズを取得する */ - auto newCapacity = stringW.capacity(); + // 2-1. CNativeW をクリアする + + stringW.Clear(); // CNativeW をクリアする + + // 2-2. クリア後のバッファの状態を取得する + + auto newCapacity = stringW.capacity(); // Clear() 後にバッファサイズを取得する + auto newLength = stringW.GetStringLength(); // Clear() 後にデータサイズを取得する + + // 2-3. クリア後のバッファの状態をチェックする + + EXPECT_EQ(orgCapacity, newCapacity); // Clear() 後にバッファサイズが変わっていないのを確認する + EXPECT_EQ(newLength, 0); // Clear() 後にデータが空なのを確認する + + // 3-1. 固定データを再追加する - /* Clear() 後にデータサイズを取得する */ - auto newLength = stringW.GetStringLength(); + stringW.AppendString(fixedPatternStr); // Clear() 後に固定データを再追加する - /* Clear() 後にバッファサイズが変わっていないのを確認する */ - EXPECT_EQ(orgCapacity, newCapacity); + // 3-2. バッファの状態を取得する + + auto newCapacity2 = stringW.capacity(); // 再追加後にバッファサイズを取得する + auto newLength2 = stringW.GetStringLength(); // 再追加後にデータサイズを取得する - /* Clear() 後にデータが空なのを確認する */ - EXPECT_EQ(newLength, 0); + // 3-3. バッファの状態をチェックする + + EXPECT_EQ(orgCapacity, newCapacity2); // 再追加後にバッファサイズが変わっていないのを確認する + EXPECT_EQ(newLength2, fixedPatternLen); // 再追加後にデータサイズを確認する }