public void GetImageAsByteArray_WhenCannotReadNewImageFromCacheAndCanReadFromWebCam_ReturnImageFromWebCam(int userId, int cacheUpdaterUserId) { // Arrange const string userUtc = "some_UTC_value"; _dateTimeProvider.DateTimeNow.Returns(new DateTime(2019, 05, 01, 15, 30, 30, 100)); (int waitTimeMilliSec, string reason)valueTuple = (0, ""); _imageFromCacheService.WaitBeforeGettingNextImage(Arg.Any <int>(), Arg.Any <DateTime>()).Returns(valueTuple); _imageFromCacheService.GetNewImageAsByteArray(Arg.Any <int>(), Arg.Any <DateTime>()).Returns((byte[])null); _cacheUpdater.Update(userId: cacheUpdaterUserId, lastUpdate: DateTime.MinValue); var imageFromWebCam = new Bitmap(1, 1); byte[] imageArrayFromWebCam = ImageHelper.ConvertImageToByteArray(imageFromWebCam); _imageFromWebCamService.GetImage(Arg.Any <string>()).Returns(imageFromWebCam); IImageProviderService imageProviderService = CreateValidImageProviderService(); // Act bool canReadImageFromWebCam = imageProviderService.CanReadImageFromWebCam(userId, _dateTimeProvider.DateTimeNow); byte[] imageAsByteArray = imageProviderService.GetImageAsByteArray(userId, userUtc); // Assert Assert.That(canReadImageFromWebCam, Is.True); Assert.That(imageAsByteArray, Is.Not.Null); Assert.That(imageAsByteArray.Length, Is.EqualTo(imageArrayFromWebCam.Length)); Assert.That(_cacheUpdater.LastUpdate, Is.EqualTo(_dateTimeProvider.DateTimeNow)); Assert.That(_cacheUpdater.UserId, Is.EqualTo(userId)); }
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 void CanReadImageFromWebCam_DifferentUserIdAndCacheUpdaterIsGiven_ReturnExpectedValue(int requestDelayMilliSec, bool expectedCanRead) { // Arrange _dateTimeProvider.DateTimeNow.Returns(new DateTime(2019, 05, 01, 15, 30, 30, 100)); const int userId = 1; const int cacheUpdaterUserId = userId + 10; _cacheUpdater.Update(userId: cacheUpdaterUserId, lastUpdate: _dateTimeProvider.DateTimeNow); IImageProviderService imageProviderService = CreateValidImageProviderService(); DateTime requestTime = RequestTime(requestDelayMilliSec + _cacheUpdaterExpirationMilliSec); // Act bool canReadImageFromWebCam = imageProviderService.CanReadImageFromWebCam(userId, requestTime); // Assert Assert.That(canReadImageFromWebCam, Is.EqualTo(expectedCanRead)); }