Есть такой простой код.
class Worker { }
interface IOffice
{
void AddWorker(Worker worker);
Worker[] GetWorkers();
}
class Office : IOffice
{
private List<Worker> _workers;
public Office()
{
_workers = new List<Worker>();
}
public void AddWorker(Worker worker)
{
_workers.Add(worker);
}
public Worker[] GetWorkers()
{
return _workers.ToArray();
}
Как протестировать метод AddWorker на добавление элементов? Чтобы это сделать мне нужно в тесте получить список Worker'ов.
Какой вариант выбрать?
- Через вызов GetWorkers не пойдет я буду тестировать сразу два метода - это плохо.
- Если сделаю поле _workers как internal тогда нарушится инкапсуляция
- Получить поле через рефлексию
- Может есть вариант получше?