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)); }
/// <summary> /// Initializes a new instance of the <see cref="ImageController"/> class. /// </summary> /// <param name="imageProviderService">Service to get filtered image URL's.</param> /// <param name="logger">Used to perform logging of errors and information.</param> /// <param name="telemetryClient">Instance of telemetry client.</param> public ImageController( IImageProviderService imageProviderService, ILogger <ImageController> logger, TelemetryClient telemetryClient) : base(telemetryClient) { this.imageProviderService = imageProviderService; this.logger = logger; }
public DialogViewModelFactory(ILibraryExplorerViewModel commonVM, IConnectedServicesInfoProviderService connectedServices, IImageProviderService imageProviderService, ICommandFactory commandFactory, IRepository <Library> libraryRepository) { CommonViewModel = commonVM; ConnectedServices = connectedServices; ImageProviderService = imageProviderService; CommandFactory = commandFactory; LibraryRepository = libraryRepository; }
public ImageController(IImageProviderService imageProviderService, AppConfiguration configuration, IDateTimeProvider dateTimeProvider, IMiniLogger logger) : base(configuration, dateTimeProvider, logger) { _imageProviderService = imageProviderService; _snapshotImagePath = AppConfiguration.SnapShotImagePath; RegisterConnectedUser(); }
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)); }