public async Task GivenASetOfDicomInstances_WhenRetrievingChangeFeed_ThenTheExpectedInstanceAreReturned() { var studyInstanceUid = TestUidGenerator.Generate(); var seriesInstanceUid = TestUidGenerator.Generate(); var sopInstanceUids = Enumerable.Range(1, 10).Select(x => TestUidGenerator.Generate()).ToArray(); long initialSequence = -1; for (int i = 0; i < 10; i++) { await CreateFile(studyInstanceUid, seriesInstanceUid, sopInstanceUids[i]); if (initialSequence == -1) { var result = await _client.GetChangeFeedLatest(); initialSequence = result.Value.Sequence; Assert.Equal(studyInstanceUid, result.Value.StudyInstanceUid); Assert.Equal(seriesInstanceUid, result.Value.SeriesInstanceUid); Assert.Equal(sopInstanceUids[i], result.Value.SopInstanceUid); Assert.Equal(ChangeFeedAction.Create, result.Value.Action); Assert.Equal(ChangeFeedState.Current, result.Value.State); } } var changeFeedResults = await _client.GetChangeFeed(); Assert.Equal(10, changeFeedResults.Value.Count); changeFeedResults = await _client.GetChangeFeed($"?offset={initialSequence - 1}"); Assert.Equal(10, changeFeedResults.Value.Count); for (int i = 0; i < 10; i++) { Assert.Equal(studyInstanceUid, changeFeedResults.Value[i].StudyInstanceUid); Assert.Equal(seriesInstanceUid, changeFeedResults.Value[i].SeriesInstanceUid); Assert.Equal(sopInstanceUids[i], changeFeedResults.Value[i].SopInstanceUid); Assert.NotNull(changeFeedResults.Value[i].Metadata); } }