У меня есть следующий метод, который я хотел бы для модульного тестирования:
public void Upload(string identifier, Stream data)
{
var startTime = SystemTime.Now;
innerDataIntegrationInterface.Upload(identifier, data);
var endTime = SystemTime.Now;
TimeSpan totalUploadTime = endTime.Subtract(startTime);
float transferRate = data.Length / (float)(totalUploadTime.Seconds + totalUploadTime.Milliseconds);
m_log.Info(string.Format("Total uploading time for '{0}' was {1:00}.{2:000000} milliseconds transfered at {3} bytes/sec", identifier, totalUploadTime.Seconds, totalUploadTime.Milliseconds, transferRate));
}
По сути, я уже внедряю объект SystemTime, чтобы настроить его в своем тесте, но не могу понять, что делать, чтобы переменные startTime и endTime получали разные значения, поэтому я могу утверждать, что метод m_log.Info вызывается с правильными значениями для переменных totalUploadTime и TransferRate.
Любые идеи будут оценены.