Ejemplo n.º 1
0
            public async void FetchAsyncAndCurrentWillReturnPeekedAfterPeek()
            {
                var result = ResultCursorCreator.CreateResultCursor(1);
                var peeked = await result.PeekAsync();

                peeked.Should().NotBeNull();
                var read = await result.FetchAsync();

                read.Should().BeTrue();
                var record = result.Current;

                record.Should().NotBeNull();
                record.Should().Be(peeked);
            }
Ejemplo n.º 2
0
            public async void ShouldCallGetSummary()
            {
                bool getSummaryCalled = false;
                var  result           = ResultCursorCreator.CreateResultCursor(1, 0, () =>
                {
                    getSummaryCalled = true;
                    return(Task.FromResult((IResultSummary)null));
                });

                // ReSharper disable once UnusedVariable
                var summary = await result.SummaryAsync();

                getSummaryCalled.Should().BeTrue();
            }
Ejemplo n.º 3
0
            public async void ShouldConsumeSummaryCorrectly()
            {
                int getSummaryCalled = 0;
                var result           = ResultCursorCreator.CreateResultReader(1, 0, () => { getSummaryCalled++; return(Task.FromResult((IResultSummary) new FakeSummary())); });


                await result.ConsumeAsync();

                getSummaryCalled.Should().Be(1);

                // the same if we call it multiple times
                await result.ConsumeAsync();

                getSummaryCalled.Should().Be(1);
            }
Ejemplo n.º 4
0
            public async void ShouldGetTheFirstRecordAndMoveToNextPosition()
            {
                var result = ResultCursorCreator.CreateResultCursor(1, 3);
                var read   = await result.FetchAsync();

                read.Should().BeTrue();
                var record = result.Current;

                record[0].As <string>().Should().Be("record0:key0");

                read = await result.FetchAsync();

                read.Should().BeTrue();
                record = result.Current;
                record[0].As <string>().Should().Be("record1:key0");
            }
Ejemplo n.º 5
0
            public async void ShouldReturnExistingSummaryWhenSummaryHasBeenRetrieved()
            {
                int getSummaryCalled = 0;
                var result           = ResultCursorCreator.CreateResultCursor(1, 0, () =>
                {
                    getSummaryCalled++;
                    return(Task.FromResult((IResultSummary) new FakeSummary()));
                });

                // ReSharper disable once NotAccessedVariable
                var summary = await result.SummaryAsync();

                // ReSharper disable once RedundantAssignment
                summary = await result.SummaryAsync();

                getSummaryCalled.Should().Be(1);
            }
Ejemplo n.º 6
0
        public async void ShouldAllowKeysAndConsumeAfterConsume()
        {
            var result   = ResultCursorCreator.CreateResultCursor(1, 3);
            var summary0 = await result.ConsumeAsync();

            var keys1 = await result.KeysAsync();

            var summary1 = await result.ConsumeAsync();

            var keys2 = await result.KeysAsync();

            var summary2 = await result.ConsumeAsync();

            summary1.Should().Be(summary0);
            summary2.Should().Be(summary0);

            keys1.Should().BeEquivalentTo(keys2);
        }