投稿

8月, 2012の投稿を表示しています

MSTest で関数の戻り値のprivateなメンバにアクセスする

たとえば次のような場合は自動生成されるクラス(Man_Accessor)によって簡単にアクセスできますよね。
class Man { privateint age; } class ManTest { [TestMethod()] void AgeTest() { var man = new Man_Accessor(); Assert.IsTrue(man.age >= 20); } }
でも関数やプロパティの戻り値のオブジェクトのprivateなメンバを検査したかったら…?
次のようにすればいいらしいです。
class State { privateint StateFlag; public State(int state) { StateFlag = state; } } class Man { public State State { get { returnnew State(0); } } } class ManTest { [TestMethod()] void AgeTest() { var stateObject = new PrivateObject(new Man().State); var state = new State_Accessor(stateObject); Assert.AreEqual(state.StateFlag, 0); } }

XMLを自動整形するテキストエディタMeryのマクロ

イメージ
MeryのAlapaバージョンで変更されたXML整形機能、今のところ、登録されたタグ(htmlタグ)以外の物が入ってたりすると整形できないようなので登録などをしなくてもいいXMLを整形できるマクロを作りました。そのかわりオプションは全くありません。すべておまかせです。マクロを使うためには.net 4.0の導入が必要です。

ダウンロードこちらからどうぞ[xmlFormatter.zip]

マクロの修正マクロはMeryのとの受け渡しに使っているだけでXMLのフォーマット自体は別途実行ファイルを使っています。そのため、実行には実行ファイルのフルパスを書く必要があります。
(前略) var wsh = new ActiveXObject("WScript.Shell"); wsh.Run("cmd /c D:\\Desktop\\xmlformatter.exe "+tmpFilePath,0,true); //フォーマット結果の読み込みtry{ (後略) ここのxmlformatter.exeまでのパスをフルパスで書いてください。\は\\と重ねて書く必要があります。日本語やスペースがあるディレクトリは使うことができません。

管理者権限不要のキーボード配列変更ソフト

イメージ
レジストリを使わない常駐タイプのキーボード配列変更ソフトを作ってみました。レジストリを使わないので終了させたらすぐに元に戻りますし、管理者権限がなくても使い慣れたキー配列でストレスなく作業をすることができます。ダウンロードファイルには常駐用のソフトと設定エディターが含まれています。設定ファイルはXMLファイルなのでテキストエディタで作ることもできます。また常駐ソフトは.NET 2.0以上で稼働するので.NET4.0が入ってなくても安心です。

今回はreadme.txtも含めて全部英語で作ってみました。何となくw UIもエディターは無駄にWPFでリボン使ってみたりしているので(私が楽しい)遊び的な要素が多いです。つまり今回も誰得?俺得!!なわけです。そういうわけでわりとてけとーです。何かありましたらtwitter:@kassyiか、コメントまでどうぞ。
ダウンロードこちらからどうぞ[KLC.zip]

ソースはこちらから[KLC -src.zip]
制限事項・編集&保存しても設定が古いまま→設定ファイルエディターに於いて、プルダウンから選択した後どこか他のセルを選択してドロップダウンが表示されない状態にしてください。ドロップダウンが表示されたままだと確定となっておらず、保存しても編集結果が反映されません。
更新履歴2012/09/06
設定ファイルの不正を検出しない問題を修正設定ファイルを読み込んでもプログラムで使われない致命的なバグを修正ソースを公開