public void GetAllTest_ThrowException()
        {
            mockCache.Setup(x => x.Get()).ThrowsAsync(new JobNotFoundException());

            var instance = new MergeSortOperation(mockCache.Object, mockLogger.Object);

            Assert.ThrowsAsync <JobNotFoundException>(() => instance.Get());
        }
        public async Task MergeSortTest_Success()
        {
            var instance = new MergeSortOperation(mockCache.Object, mockLogger.Object);

            var result = await instance.MergeSort(new int[] { 34, 54, 78, 12 });

            Assert.True(result.Id > 0);
            Assert.Equal(JobStatus.Completed.ToString(), result.Status);
        }
        public async Task GetByIdTest_Success()
        {
            var mockValue = TestData.completedExecution;

            mockCache.Setup(x => x.GetById(5)).ReturnsAsync(mockValue);

            var instance = new MergeSortOperation(mockCache.Object, mockLogger.Object);
            var result   = await instance.GetById(5);

            mockValue.Should().BeEquivalentTo(result);
        }
        public async Task GetAllTest_Success()
        {
            var mockValue = new Executions {
                execution = new List <Execution> {
                    TestData.pendingExecution
                }
            };

            mockCache.Setup(x => x.Get()).ReturnsAsync(mockValue);

            var instance = new MergeSortOperation(mockCache.Object, mockLogger.Object);
            var result   = await instance.Get();

            mockValue.Should().BeEquivalentTo(result);
        }