2019-08-01から1ヶ月間の記事一覧
概要 TestRunnerで例外が発生することをテストするのはNUnit.Framework.Assert.Catchでできますが LogErrorのテストはできません。指定した文字列のLogErrorが出力されることをテストするのはTestTools.LogAssertでできますが、前回の記事で書いたように少し…
概要 Test Runner(NUnit)でログが出力されることをテストできるTestTools.LogAssertを使おうと思ったのですが、ドキュメントを呼んでもよくわからなかったので詳しく調べてみました。 LogAssertの基礎 LogAssertにはExpectとNoUnexpectedReceivedの2つの関数…
概要 プロパティの実装を省略する自動実装プロパティ(Auto-Implemented Properties)を使うと自動的に見えないフィールドが追加されます。このフィールドはBackingFieldと呼ばれます。BackingFieldは普通にアクセスすることはできませんが、Reflectionを使…
概要 System.Typeがstructかどうかを判定しようと思ったら、System.Type.IsClassはあるのに何故かIsStructがなかったので判定方法を調べてみました。 判定方法 判定はIsValueTypeやIsPrimitiveなどを組み合わせて実装します。 public static bool IsStruct(S…