public async Task TestGetBackupMetadataAsync_OneFullBackup_AndTwoIncrementalBackup_Present()
        {
            //arrange
            Guid     partitionId = Guid.NewGuid();
            DateTime now         = DateTime.UtcNow;

            BackupMetadata backupMetadata         = new BackupMetadata(partitionId, now, BackupOption.Full);
            BackupMetadata incrementalMetadata    = new BackupMetadata(partitionId, now.AddHours(1), BackupOption.Incremental);
            BackupMetadata incrementalMetadataTwo = new BackupMetadata(partitionId, now.AddHours(2), BackupOption.Incremental);

            var mockBackupStoreObject = new Moq.Mock <ICentralBackupStore>();

            mockBackupStoreObject
            .Setup(store => store.RetrieveScheduledBackupAsync(It.IsAny <Guid>()))
            .Returns(Task.FromResult(incrementalMetadata));

            mockBackupStoreObject
            .Setup(store => store.GetBackupMetadataAsync(null, It.IsAny <Guid>()))
            .Returns(Task.FromResult <IEnumerable <BackupMetadata> >(new[] { backupMetadata, incrementalMetadata, incrementalMetadataTwo }));

            var mockServiceObject = new Moq.Mock <IBackupRestoreServiceInternal>();

            mockServiceObject.Setup(service => service.CentralBackupStore).Returns(mockBackupStoreObject.Object);
            mockServiceObject.Setup(service => service.Context).Returns(Mocks.MockStatefulServiceContextFactory.Default);

            //act
            var result = await BackupRestoreServiceInternalExtensions.GetBackupMetadataAsync(mockServiceObject.Object, incrementalMetadataTwo);

            //assert
            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(backupMetadata, result[0]);
            Assert.AreEqual(incrementalMetadata, result[1]);
            Assert.AreEqual(incrementalMetadataTwo, result[2]);
        }
        public async Task TestGetBackupMetadataAsync_OneFullBackup_Present()
        {
            //arrange
            Guid           partitionId    = Guid.NewGuid();
            DateTime       now            = DateTime.UtcNow;
            BackupMetadata backupMetadata = new BackupMetadata(partitionId, now, BackupOption.Full);

            var mockBackupStoreObject = new Moq.Mock <ICentralBackupStore>();
            var mockServiceObject     = new Moq.Mock <IBackupRestoreServiceInternal>();

            mockServiceObject.Setup(service => service.CentralBackupStore).Returns(mockBackupStoreObject.Object);
            mockServiceObject.Setup(service => service.Context).Returns(Mocks.MockStatefulServiceContextFactory.Default);

            //act
            var result = await BackupRestoreServiceInternalExtensions.GetBackupMetadataAsync(mockServiceObject.Object, backupMetadata);

            //assert
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(backupMetadata, result[0]);
        }