タイトル通り。
ソートが必要な IComparable を実装するクラスがあります。すべてのメソッドに対してすべての単体テストを作成しました。しかし、IComparable を実装しているかどうかを確認する単体テストを作成することは理にかなっていますか?
UIでソートするときのインターフェースでは機能しないためです。ただし、コンパイルしても機能します。したがって、そのようなテストケースがある場合、誰かがそのインターフェイスを削除した場合にキャッチされる可能性があります。
私のクラスは次のようなものです:
public class ComparableCustomType: IComparable
{
private readonly someFields;
public ComparableCustomType(AnotherBusinessObject obj)
{
//Do some parsing against the obj
}
public int CompareTo(object obj)
{
//Some custom sorting logic
}
}
基本的に私のテストケースは次のようになります。
[TestMethod]
public void CompareTo_IsImplementIComaparable()
{
IComparable comparable = Isolate.Fake.Instance<ComparableCustomType>();
Assert.AreNotEqual(null, comparable);
}
編集:これは私がこのプロパティを使用する方法です....(または、それが人がこのプロパティを使用する方法であると言うべきです...)
public class CustomItem{
private AnotherBusinessObject anotherBusinessObj = null
public CustomItem(AnotherBusinessObject obj)
{
this.anotherBusinessObj = obj;
}
public ComparableCustomType {
get { return new CamparableCustomType(this.anotherBusinessObj); }
}
public string SomeOtherProperty {get;set;}
publci int AnotherProperty {get;set;}
}
public ObservableCollection<CustomItem> MyCustomCollection {get;set;}
次に、このコレクションは私の GridView にデータバインドされます....そのため、すべての列が自動的に生成されます.....