예제 #1
0
        public void ProcessElement_TableCell_NotContextTest()
        {
            var table     = TableSimple.Build3x3();
            var tableCell = table.Descendants <TableCell>().First();

            Assert.IsFalse(_instance.ProcessElement(_elemState, tableCell));
        }
예제 #2
0
 public void Build_Cells3X3Test()
 {
     _table = TableSimple.Build3x3();
     BuildGrid();
     ExpectedCell[] expected = BuildExpectedCell3X3();
     AssertExpectedCells(expected);
 }
예제 #3
0
        public void ProcessElement_Table_Test()
        {
            var table = TableSimple.Build3x3();

            Assert.IsTrue(_instance.ProcessElement(_elemState, table));

            Assert.IsNotNull(_tableContext);
            AssertHasAllCells(table);
            VNode addedVNode = GetAddedVNode();

            _elemState.Received(1).CurrentVNode = addedVNode;
        }
예제 #4
0
        public void ProcessElement_TableCell_NotFoundTest()
        {
            var table = TableSimple.Build3x3();

            _tableContext = new TableContext()
            {
                GridStateFactory = _instance.GridStateFactory
            };
            _tableContext.AddTable(table, 10);

            Assert.IsFalse(_instance.ProcessElement(_elemState, new TableCell()));
        }
예제 #5
0
 public void Build_Props3X3Test()
 {
     _table = TableSimple.Build3x3();
     _grid  = _instance.Build(_table, 0);
     Assert.AreEqual(TableRowAlignmentValues.Left, _grid.Jusitification);
     Assert.IsNotNull(_grid.ClsName);
     Assert.AreEqual(1000, _grid.GetWidth(0));
     Assert.AreEqual(2000, _grid.GetWidth(1));
     Assert.AreEqual(3000, _grid.GetWidth(2));
     Assert.AreEqual(3, _grid.RowCount);
     Assert.AreEqual(3, _grid.ColumnCount);
 }
예제 #6
0
        public void ProcessElement_TableRow_Test()
        {
            var table = TableSimple.Build3x3();

            _tableContext = new TableContext()
            {
                GridStateFactory = _instance.GridStateFactory
            };
            _tableContext.AddTable(table, 10);
            var row = table.ChildElements.First <TableRow>();

            Assert.IsTrue(_instance.ProcessElement(_elemState, row));
        }
예제 #7
0
        public void Build_VNode3X3Test()
        {
            _table = TableSimple.Build3x3();
            BuildGrid(50);
            var vNode = _grid.VNode;

            Assert.AreEqual(50, vNode.Index);
            Assert.AreEqual(9, vNode.Length);
            CollectionAssert.Contains(
                vNode.Classes.ToArray(),
                "grid"
                );
        }
예제 #8
0
        private IElementProcessingState MockElemProcessingStateWithTableContext()
        {
            var tableContext = new TableContext()
            {
                GridStateFactory = _instance.GridStateFactory
            };

            tableContext.AddTable(TableSimple.Build3x3(), 0);
            _fullCssData.AddRange(tableContext.GetCssData());
            var elemState = new ElementProcessingState();

            elemState.SetContext(tableContext);
            return(elemState);
        }
예제 #9
0
 public void Build_GetCellFromTable3X3Test()
 {
     _table = TableSimple.Build3x3();
     BuildGrid();
     AssertStateMatchTable(0, 0, 0);
     AssertStateMatchTable(1, 0, 1);
     AssertStateMatchTable(2, 0, 2);
     AssertStateMatchTable(3, 1, 0);
     AssertStateMatchTable(4, 1, 1);
     AssertStateMatchTable(5, 1, 2);
     AssertStateMatchTable(6, 2, 0);
     AssertStateMatchTable(7, 2, 1);
     AssertStateMatchTable(8, 2, 2);
 }
예제 #10
0
        public void Build_Css3X3Test()
        {
            _table = TableSimple.Build3x3();
            BuildGrid();
            var result   = _grid.AsCssData();
            var expected = new CssData();

            expected.AddAttribute(".demo", "display", "grid");
            AddGridCols(expected, 1000, 2000, 3000);
            foreach (var c in BuildExpectedCell3X3())
            {
                c.SetCssData(expected, "demo");
            }

            Assert.AreEqual(expected, result);
        }
예제 #11
0
        public void ProcessElement_TableCell_Test()
        {
            var table = TableSimple.Build3x3();

            _tableContext = new TableContext()
            {
                GridStateFactory = _instance.GridStateFactory
            };
            _tableContext.AddTable(table, 10);
            var tableCell = table.Descendants <TableCell>().First();
            var cellState = _tableContext.GetCell(tableCell);

            _instance.ProcessElement(_elemState, tableCell);

            var cellVNode = cellState.VNode;

            Assert.IsNotNull(cellVNode);
            _elemState.Received(1).CurrentVNode = cellVNode;
        }
예제 #12
0
        public void Build_ApplyLayoutOptimizeTest()
        {
            var table   = TableSimple.Build3x3();
            var layouts =
                Enumerable.Range(0, 5)
                .Select(x => Substitute.For <ILayout>())
                .ToList();

            _instance.LayoutFactory
            .Build(Arg.Is(table))
            .Returns(layouts);

            var grid = _instance.Build(table, 0);

            _instance.LayoutFactory.Received(1).Build(table);
            foreach (var layout in layouts)
            {
                layout.Received(1).Apply(Arg.Is(grid));
            }
            _instance.GridOptimizer.Received(1).Optimize(grid);
        }