Я пишу двусвязный список, используя подход TDD. Этот тип коллекции не является потокобезопасным. Чтобы реализовать интерфейс ICollection, мой класс списка должен иметь несколько общедоступных свойств (включая IsSynchronized и SyncRoot, которые используются для обеспечения потокобезопасного способа использования коллекции). Код этих двух свойств довольно прост:
public bool IsSynchronized { get { return false; } }
private readonly object _syncRoot = new object();
public object SyncRoot { get { return _syncRoot; } }
Вопрос в том, как написать для него правильный юнит-тест. Этот тест также должен проверять правильное и неправильное использование.