-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CProfileを拡張してテストに利用できるようにする #1546
CProfileを拡張してテストに利用できるようにする #1546
Conversation
✅ Build sakura 1.0.3462 completed (commit 4ae723ecd9 by @sanomari) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
大きな問題はなさそうです。
テスト内容
同時に追加する単体テストだけで十分に検証できると思います。
CDataProfileに未カバーコードとかTODOコメントとかあるのを踏まえたうえで「十分に検証できる」ですかね?
なんとなく、続き物の変更の一部を出している感じがして、めんどうな説明を端折ったように見えます。
(これこの後、CDataProfileのリファクタリングが来ますよね?たぶんw)
730071b
to
312f538
Compare
✅ Build sakura 1.0.3464 completed (commit fd06670d2d by @sanomari) |
312f538
to
9792551
Compare
未カバーコードは次の対応で消滅させます。
はい、その通りです。 |
Kudos, SonarCloud Quality Gate passed! |
✅ Build sakura 1.0.3465 completed (commit 385ec2499c by @sanomari) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
細かい指摘も対応していただきましたので、問題ないと思います。
ASSERT_EQ(109, nValue); | ||
|
||
ASSERT_TRUE(cProfile.IOProfileData(L"Test", L"szTest", nValue)); | ||
ASSERT_EQ(0, nValue); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
現状の動きをトレースしたものですよね。
セクション"Test"のエントリ"szTest"には"value"が入っていて、
文字列"value"をint型に解釈することは不可能だと思います。
それなのに取得関数はtrueを返し、値は0に初期化されるという変な動きです。
レビューありがとうございます。次を準備します。 |
PR の目的
タイトル通りです。
カテゴリ
PR の背景
別件で検討中のコード修正を行う中で、単独で提案可能な改善を見つけたため、この部分だけ単独で提案する次第です。
PR のメリット
PR のデメリット (トレードオフとかあれば)
とくに思いつきません。
仕様・動作説明
文字列エントリを書き込むためのSetProfileDataを公開メソッドとして実装します。
従来のSetProfileDataImplはprotectedだったため、直接利用することができませんでした。
CDataProfile::IOProfileDataで文字列を書き込む場合にはstd::wstringを渡す必要があり、
設定値をリテラルで渡したいテストコードで利用するには不便でした。
PR の影響範囲
INIファイルの入出力を行うコードに影響します。
文字列値をINIファイルを書き込む処理で、セクションとキーと値を書けば簡単に出力できるようになります。
既存の単体テストで適当なファイルを作成する処理を簡潔に記述できるようになります。
テスト内容
同時に追加する単体テストだけで十分に検証できると思います。
関連 issue, PR
参考資料