public void TestMatchRangesTocontinuationTokens_OneToNone() { PartitionKeyRange partitionKeyRange = new PartitionKeyRange() { MinInclusive = string.Empty, MaxExclusive = "A", Id = "1" }; CompositeContinuationToken token = new CompositeContinuationToken() { Range = new Documents.Routing.Range <string>( min: "B", max: "C", isMinInclusive: true, isMaxInclusive: false), Token = "asdf" }; IReadOnlyDictionary <PartitionKeyRange, IPartitionedToken> expectedMapping = new Dictionary <PartitionKeyRange, IPartitionedToken>() { { partitionKeyRange, null }, }; ContinuationResumeLogicTests.RunMatchRangesToContinuationTokens( expectedMapping, new PartitionKeyRange[] { partitionKeyRange }, new CompositeContinuationToken[] { token }); }
public void TestMatchRangesTocontinuationTokens_ArgumentNullException() { ContinuationResumeLogicTests.RunMatchRangesToContinuationTokens( expectedMapping: null, partitionKeyRanges: new PartitionKeyRange[] { }, partitionedTokens: null); }
private static void RunMatchRangesToContinuationTokens( IReadOnlyDictionary <PartitionKeyRange, IPartitionedToken> expectedMapping, IEnumerable <PartitionKeyRange> partitionKeyRanges, IEnumerable <IPartitionedToken> partitionedTokens) { IReadOnlyDictionary <PartitionKeyRange, IPartitionedToken> actualMapping = CosmosCrossPartitionQueryExecutionContext.MatchRangesToContinuationTokens( partitionKeyRanges.OrderBy(x => Guid.NewGuid()).ToArray(), partitionedTokens.OrderBy(x => Guid.NewGuid()).ToList()); ContinuationResumeLogicTests.AssertPartitionMappingAreEqual( expectedMapping, actualMapping); }