public void CanReadImageFromWebCam_SameUserIdAndAnyRequestTime_ReturnTrue(int userId, int requestDelayMilliSec) { // Arrange _dateTimeProvider.DateTimeNow.Returns(new DateTime(2019, 05, 01, 15, 30, 30, 100)); _cacheUpdater.Update(userId, _dateTimeProvider.DateTimeNow); IImageProviderService imageProviderService = CreateValidImageProviderService(); DateTime requestTime = RequestTime(requestDelayMilliSec); // Act bool canReadImageFromWebCam = imageProviderService.CanReadImageFromWebCam(userId, requestTime); // Assert Assert.That(canReadImageFromWebCam, Is.True); }
public byte[] GetImageAsByteArray(int userId, string userUtc) { (byte[] imageByteArray, DateTime requestTime) = ReadNewImageFromCache(userId); if (imageByteArray != null) { LogNewImageReadFromCache(userId, requestTime); UpdateLastCacheAccess(userId, requestTime); return(imageByteArray); } bool canReadImageFromWebCam = CanReadImageFromWebCam(userId, requestTime); if (canReadImageFromWebCam) { lock (LockCacheUpdaterOverdue) { _cacheUpdaterInfo.Update(userId, requestTime); } } imageByteArray = canReadImageFromWebCam ? ReadImageFromWebCam(userId, userUtc, requestTime) : ReadCurrentImageFromCache(userId); return(imageByteArray); }