我正在使用TDD方法编写一个双向链表。这种集合类型不是线程安全的。为了实现ICollection接口,我的链表类必须具有几个公共属性(包括IsSynchronized和SyncRoot,它们用于提供一种线程安全的集合使用方式)。 这两个属性的代码非常简单:
public bool IsSynchronized { get { return false; } }
private readonly object _syncRoot = new object();
public object SyncRoot { get { return _syncRoot; } }
问题是如何编写正确的单元测试。该测试应该检查正确使用和不正确使用的情况。
ICollection<T>
并不需要实现ICollection
;泛型版本只继承自IEnumerable<T>
。 - Dan Tao