public void Display(string file, int pageSize)
        {
            var model = new NumberedModel(_fileReader.Read(file));

              var pageIndex = 0;
              while (true)
              {
            var pagedModel = new PagedModel(model, pageIndex, pageSize);
            var formatted = _formatter.Format(pagedModel);

            _console.Clear();
            _console.Write(formatted);
            _console.WriteLine("Page {0} of {1}", pageIndex + 1, pagedModel.MaxPageIndex + 1);
            _console.WriteLine(String.Empty);
            _console.Write("N(ext page, P(revious page, F(irst page, L(ast page, J(ump to page, eX(it");

            var userInput = _console.Read();

            var nextAction = DetermineNextAction(pagedModel, userInput, pageIndex);
            pageIndex = nextAction.Execute();
            if (pageIndex < 0)
            {
              return;
            }
              }
        }
        public void RowsOfNumbredModel_Should_ContainNumbers()
        {
            var model = new Model()
              .SetHeader(new[] { "header" })
            .AddRow(new[] { "one" })
            .AddRow(new[] { "two" });

              var numbered = new NumberedModel(model);

              Assert.AreEqual(2, numbered.Header.Count());
              Assert.AreEqual(2, numbered.Rows.First().Count());

              Assert.AreEqual("No.", numbered.Header.First());
              Assert.AreEqual("1.", numbered.Rows.First().First());
              Assert.AreEqual("2.", numbered.Rows.Skip(1).First().First());
        }
Beispiel #3
0
        public void RowsOfNumbredModel_Should_ContainNumbers()
        {
            var model = new Model()
                        .SetHeader(new[] { "header" })
                        .AddRow(new[] { "one" })
                        .AddRow(new[] { "two" });

            var numbered = new NumberedModel(model);

            Assert.AreEqual(2, numbered.Header.Count());
            Assert.AreEqual(2, numbered.Rows.First().Count());

            Assert.AreEqual("No.", numbered.Header.First());
            Assert.AreEqual("1.", numbered.Rows.First().First());
            Assert.AreEqual("2.", numbered.Rows.Skip(1).First().First());
        }
Beispiel #4
0
        public void Display(string file, int pageSize)
        {
            var modelFromFile = _fileReader.Read(file);
            var model         = new NumberedModel(modelFromFile);

            var pageIndex = 0;

            while (true)
            {
                var pagedModel = new PagedModel(model, pageIndex, pageSize);

                Display(pagedModel);

                var userInput = _console.Read();

                var nextAction     = DetermineNextAction(pagedModel, userInput);
                var maybePageIndex = nextAction.GetNextPageIndex();
                if (maybePageIndex == null)
                {
                    return;
                }
                pageIndex = maybePageIndex.Value;
            }
        }