如题。
我有一个实现需要排序的 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 ......所以它会自动生成所有列......