Пример #1
0
        public async Task ReverseReadsPrevAsync()
        {
            var lastPageCount = 10;
            var prevPageCount = 3;
            var logReader     = new PageReaderData()
            {
                Id    = Fixture.TestName,
                Count = lastPageCount
            };
            long pageTop    = (lastPageCount) * Fixture.TextLine(0).Length;
            long pageBottom = PageReaderData.EOF;

            Assert.True(Fixture.LineCount > lastPageCount, "Not enough lines to perform test.");

            await LogPageReader.ReadLastAsync(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(lastPageCount, logReader.Lines.Count());

            pageBottom      = pageTop;
            pageTop         = (lastPageCount + prevPageCount) * Fixture.TextLine(0).Length;
            logReader.Count = prevPageCount;

            await LogPageReader.ReadPrevAsync(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(prevPageCount, logReader.Lines.Count());
            for (var i = 0; i < prevPageCount; i++)
            {
                Assert.Equal(Fixture.Text(lastPageCount + prevPageCount - i), logReader.Lines.Skip(i).First());
            }
        }
Пример #2
0
        public async Task ReverseReadsNextAsync()
        {
            var firstPageCount = 10;
            var nextPageCount  = 3;
            var logReader      = new PageReaderData()
            {
                Id    = Fixture.TestName,
                Count = firstPageCount
            };
            long pageTop    = PageReaderData.EOF;
            long pageBottom = (Fixture.LineCount - logReader.Count) * Fixture.TextLine(0).Length;

            Assert.True(Fixture.LineCount > firstPageCount + nextPageCount, "Not enough lines to perform test.");

            await LogPageReader.ReadFirstAsync(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(firstPageCount, logReader.Lines.Count());

            pageTop         = pageBottom;
            pageBottom      = (Fixture.LineCount - firstPageCount - nextPageCount) * Fixture.TextLine(0).Length;
            logReader.Count = nextPageCount;

            await LogPageReader.ReadNextAsync(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(nextPageCount, logReader.Lines.Count());
            for (var i = 0; i < nextPageCount; i++)
            {
                Assert.Equal(Fixture.Text(Fixture.LineCount - firstPageCount - i), logReader.Lines.Skip(i).First());
            }
        }
Пример #3
0
        public void ForwardReadsNext()
        {
            var firstPageCount = 10;
            var nextPageCount  = 3;
            var logReader      = new PageReaderData()
            {
                Id    = Fixture.TestName,
                Count = firstPageCount
            };
            long pageTop    = PageReaderData.EOF;
            long pageBottom = (firstPageCount) * Fixture.TextLine(0).Length;

            Assert.True(Fixture.LineCount > firstPageCount + nextPageCount, "Not enough lines to perform test.");

            PageReader.ReadFirst(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(firstPageCount, logReader.Lines.Count());

            pageTop         = pageBottom;
            pageBottom      = (firstPageCount + nextPageCount) * Fixture.TextLine(0).Length;
            logReader.Count = nextPageCount;

            PageReader.ReadNext(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(nextPageCount, logReader.Lines.Count());
            for (var i = 0; i < nextPageCount; i++)
            {
                Assert.Equal(Fixture.Text(firstPageCount + i + 1), logReader.Lines.Skip(i).First());
            }
        }
 /// <summary>
 /// Performs operations for all routes to List view.
 /// </summary>
 public ActionResult List(PageReaderData page)
 {
     ModelState.Clear();
     if (page == null || string.IsNullOrWhiteSpace(page.Id))
     {
         ModelState.AddModelError(string.Empty, "Bad or missing page read request.");
     }
     ViewData["CountOptions"] = CountOptions;
     return(View("List", new LogFileDataModel(page)));
 }
Пример #5
0
        public void ForwardReadsLast()
        {
            var count     = 3;
            var logReader = new PageReaderData()
            {
                Id    = Fixture.TestName,
                Count = count
            };
            long pageTop    = (Fixture.LineCount - count) * Fixture.TextLine(0).Length;
            long pageBottom = PageReaderData.EOF;

            Assert.True(Fixture.LineCount > logReader.Count, "Not enough lines to perform test.");

            PageReader.ReadLast(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(count, logReader.Lines.Count());
            for (var i = 0; i < count; i++)
            {
                Assert.Equal(Fixture.Text(Fixture.LineCount - count + i + 1), logReader.Lines.Skip(i).First());
            }
        }
Пример #6
0
        public async Task ForwardReadsFirstAsync()
        {
            var count     = 3;
            var logReader = new PageReaderData()
            {
                Id    = Fixture.TestName,
                Count = count
            };
            long pageTop    = PageReaderData.EOF;
            long pageBottom = count * Fixture.TextLine(0).Length;

            Assert.True(Fixture.LineCount > logReader.Count, "Not enough lines to perform test.");

            await PageReader.ReadFirstAsync(logReader);

            Assert.Equal(pageTop, logReader.PageTop);
            Assert.Equal(pageBottom, logReader.PageBottom);
            Assert.Equal(count, logReader.Lines.Count());
            for (var i = 0; i < count; i++)
            {
                Assert.Equal(Fixture.Text(i + 1), logReader.Lines.Skip(i).First());
            }
        }
 public async Task <ActionResult> ForwardPrev(PageReaderData logReader)
 {
     return(List(await PageReader.ReadPrevAsync(logReader)));
 }
 public async Task <ActionResult> ReversePrev(PageReaderData logReader)
 {
     return(List(await LogPageReader.ReadPrevAsync(logReader)));
 }