I have the following scenario:
public class CarManager { .. public long AddCar(Car car) { try { string username = _authorizationManager.GetUsername(); ... long id = _carAccessor.AddCar(username, car.Id, car.Name, ....); if(id == 0) { throw new Exception("Car was not added"); } return id; } catch (Exception ex) { throw new AddCarException(ex); } } public List AddCars(List cars) { List ids = new List(); foreach(Car car in cars) { ids.Add(AddCar(car)); } return ids; } }
I am mocking out _reportAccessor, _authorizationManager etc.
Now I want to unittest the CarManager class. Should I have multiple tests for AddCar() such as
AddCarTest() AddCarTestAuthorizationManagerException() AddCarTestCarAccessorNoId() AddCarTestCarAccessorException()
For AddCars() should I repeat all previous tests as AddCars() calls AddCar() - it seems like repeating oneself? Should I perhaps not be calling AddCar() from AddCars()? < p/>
Please help.