コード例 #1
0
ファイル: GridRowsTests.cs プロジェクト: olegil/MVC.Grid
        public void GetEnumerator_OnNullCurrentRowsProcessesRows()
        {
            IQueryable <GridModel>     models = new[] { new GridModel(), new GridModel() }.AsQueryable();
            IGridProcessor <GridModel> postProcessor = Substitute.For <IGridProcessor <GridModel> >();
            IGridProcessor <GridModel> preProcessor = Substitute.For <IGridProcessor <GridModel> >();
            IQueryable <GridModel>     postProcessedModels = new[] { new GridModel() }.AsQueryable();
            IQueryable <GridModel>     preProcessedModels = new[] { new GridModel() }.AsQueryable();

            postProcessor.ProcessorType = GridProcessorType.Post;
            preProcessor.ProcessorType  = GridProcessorType.Pre;
            Grid <GridModel> grid       = new Grid <GridModel>(models);

            postProcessor.Process(preProcessedModels).Returns(postProcessedModels);
            preProcessor.Process(models).Returns(preProcessedModels);
            grid.Processors.Add(postProcessor);
            grid.Processors.Add(preProcessor);

            GridRows <GridModel>   rows = new GridRows <GridModel>(grid);
            IEnumerable <IGridRow> currentRows = rows.CurrentRows;

            IEnumerable <Object> actual   = rows.ToList().Select(row => row.Model);
            IEnumerable <Object> expected = postProcessedModels;

            postProcessor.Received().Process(preProcessedModels);
            CollectionAssert.AreEqual(expected, actual);
            preProcessor.Received().Process(models);
            Assert.IsNull(currentRows);
        }
コード例 #2
0
ファイル: GridRowsTests.cs プロジェクト: Tazura/MVC5.Grid
        public void GetEnumerator_OnNullCurrentRowsProcessesRows()
        {
            IQueryable<GridModel> items = new[] { new GridModel(), new GridModel() }.AsQueryable();
            IGridProcessor<GridModel> postProcessor = Substitute.For<IGridProcessor<GridModel>>();
            IGridProcessor<GridModel> preProcessor = Substitute.For<IGridProcessor<GridModel>>();
            IQueryable<GridModel> postProcesseditems = new[] { new GridModel() }.AsQueryable();
            IQueryable<GridModel> preProcesseditems = new[] { new GridModel() }.AsQueryable();
            postProcessor.ProcessorType = GridProcessorType.Post;
            preProcessor.ProcessorType = GridProcessorType.Pre;
            Grid<GridModel> grid = new Grid<GridModel>(items);

            postProcessor.Process(preProcesseditems).Returns(postProcesseditems);
            preProcessor.Process(items).Returns(preProcesseditems);
            grid.Processors.Add(postProcessor);
            grid.Processors.Add(preProcessor);

            GridRows<GridModel> rows = new GridRows<GridModel>(grid);
            IEnumerable<IGridRow> currentRows = rows.CurrentRows;

            IEnumerable<Object> actual = rows.ToList().Select(row => row.Model);
            IEnumerable<Object> expected = postProcesseditems;

            postProcessor.Received().Process(preProcesseditems);
            Assert.Equal(expected, actual);
            preProcessor.Received().Process(items);
            Assert.Null(currentRows);
        }
コード例 #3
0
        public void GetEnumerator_OnNullCurrentRowsProcessesRows()
        {
            IQueryable <GridModel>     items = new[] { new GridModel(), new GridModel() }.AsQueryable();
            IGridProcessor <GridModel> postProcessor = Substitute.For <IGridProcessor <GridModel> >();
            IGridProcessor <GridModel> preProcessor = Substitute.For <IGridProcessor <GridModel> >();
            IGridProcessor <GridModel> manProcessor = Substitute.For <IGridProcessor <GridModel> >();
            IQueryable <GridModel>     postProcessedItems = new[] { new GridModel() }.AsQueryable();
            IQueryable <GridModel>     preProcessedItems = new[] { new GridModel() }.AsQueryable();

            manProcessor.ProcessorType  = GridProcessorType.Manual;
            postProcessor.ProcessorType = GridProcessorType.Post;
            preProcessor.ProcessorType  = GridProcessorType.Pre;
            Grid <GridModel> grid     = new Grid <GridModel>(items);

            postProcessor.Process(preProcessedItems).Returns(postProcessedItems);
            manProcessor.Process(items).Returns(new GridModel[0].AsQueryable());
            preProcessor.Process(items).Returns(preProcessedItems);
            grid.Processors.Add(postProcessor);
            grid.Processors.Add(preProcessor);
            grid.Processors.Add(manProcessor);

            GridRows <GridModel> rows = new GridRows <GridModel>(grid);
            IEnumerable <IGridRow <GridModel> > currentRows = rows.CurrentRows;

            IEnumerable <Object> actual   = rows.ToList().Select(row => row.Model);
            IEnumerable <Object> expected = postProcessedItems;

            postProcessor.Received().Process(preProcessedItems);
            manProcessor.DidNotReceive().Process(items);
            preProcessor.Received().Process(items);

            Assert.Equal(expected, actual);
            Assert.Null(currentRows);
        }
コード例 #4
0
ファイル: GridRowsTests.cs プロジェクト: Tazura/MVC5.Grid
        public void GetEnumerator_ReturnsCurrentRows()
        {
            IQueryable<GridModel> items = new[] { new GridModel(), new GridModel() }.AsQueryable();
            IGridProcessor<GridModel> preProcessor = Substitute.For<IGridProcessor<GridModel>>();
            preProcessor.Process(items).Returns(new GridModel[0].AsQueryable());
            preProcessor.ProcessorType = GridProcessorType.Pre;
            Grid<GridModel> grid = new Grid<GridModel>(items);

            GridRows<GridModel> rows = new GridRows<GridModel>(grid);
            rows.ToList();

            grid.Processors.Add(preProcessor);

            IEnumerable<Object> actual = rows.ToList().Select(row => row.Model);
            IEnumerable<Object> expected = items;

            preProcessor.DidNotReceive().Process(Arg.Any<IQueryable<GridModel>>());
            Assert.Equal(expected, actual);
        }
コード例 #5
0
        public void GetEnumerator_CachesRows()
        {
            IQueryable <GridModel>     items = new[] { new GridModel(), new GridModel() }.AsQueryable();
            IGridProcessor <GridModel> preProcessor = Substitute.For <IGridProcessor <GridModel> >();

            preProcessor.Process(items).Returns(Array.Empty <GridModel>().AsQueryable());
            preProcessor.ProcessorType = GridProcessorType.Pre;
            Grid <GridModel> grid = new Grid <GridModel>(items);

            GridRows <GridModel> rows = new GridRows <GridModel>(grid);

            rows.ToList();

            grid.Processors.Add(preProcessor);

            IEnumerable <Object> actual   = rows.ToList().Select(row => row.Model);
            IEnumerable <Object> expected = items;

            preProcessor.DidNotReceive().Process(Arg.Any <IQueryable <GridModel> >());
            Assert.Equal(expected, actual);
        }
コード例 #6
0
ファイル: GridRowsTests.cs プロジェクト: olegil/MVC.Grid
        public void GetEnumerator_ReturnsCurrentRows()
        {
            IQueryable <GridModel>     models = new[] { new GridModel(), new GridModel() }.AsQueryable();
            IGridProcessor <GridModel> preProcessor = Substitute.For <IGridProcessor <GridModel> >();

            preProcessor.Process(models).Returns(new GridModel[0].AsQueryable());
            preProcessor.ProcessorType = GridProcessorType.Pre;
            Grid <GridModel> grid = new Grid <GridModel>(models);

            GridRows <GridModel> rows = new GridRows <GridModel>(grid);

            rows.ToList();

            grid.Processors.Add(preProcessor);

            IEnumerable <Object> actual   = rows.ToList().Select(row => row.Model);
            IEnumerable <Object> expected = models;

            preProcessor.DidNotReceive().Process(Arg.Any <IQueryable <GridModel> >());
            CollectionAssert.AreEqual(expected, actual);
        }