public void GetImageAsByteArray_NoParamsAndImageCacheHasNoData_ReturnsNull() { // Arrange var imageCache = new CacheUpdateService(); // Act var imgCacheSvc = new ImageFromCacheService(imageCache); // Assert Assert.IsNull(imgCacheSvc.GetCurrentImageAsByteArray()); }
public void GetImageAsByteArray_NoParamsImageCacheHasData_ReturnsNotNull() { // Arrange var imageCache = new CacheUpdateService(); imageCache.UpdateImage(new byte[2], 1, DateTime.MaxValue); // Act var imgCacheSvc = new ImageFromCacheService(imageCache); // Assert Assert.IsNotNull(imgCacheSvc.GetCurrentImageAsByteArray()); }
[TestCase(10, StrCacheLastUpdate, 2000, 5, true, 99, -1, false)] // Cannot update = new date is in the past public void UpdateCachedImage_AnyParameters_ReturnExpectedResult(int oldUpdaterUserId, string strCacheLastUpdate, int cacheLifeTime, int cacheFps, bool cacheHasData, int newCacheUpdaterUserId, int newCacheUpdaterDelay, bool expectedSuccess) { // Arrange DateTime cacheLastUpdate = DateTime.ParseExact(s: strCacheLastUpdate, format: "yyyy-MM-dd HH:mm:ss.fff", provider: null); DateTime timeWhenCacheIsRead = cacheLastUpdate.AddMilliseconds(newCacheUpdaterDelay); var oldImageArraySize = 2; byte[] imageBytes = cacheHasData ? new byte[oldImageArraySize] : null; CacheUpdateService imageCache = CreateImageCache(imageBytes, oldUpdaterUserId, cacheLastUpdate); var cachingService = new ImageFromCacheService(cacheUpdateService: imageCache, logger: null, cacheLifeTimeMilliSec: cacheLifeTime, framesPerSecond: cacheFps); var newImageArraySize = 44; // Act cachingService.UpdateCachedImage(new byte[newImageArraySize], newCacheUpdaterUserId, timeWhenCacheIsRead); // Assert bool cacheHasBeenUpdated = cachingService.GetCurrentImageAsByteArray().Length == newImageArraySize; Assert.That(cacheHasBeenUpdated, Is.EqualTo(expectedSuccess)); }