public void TestCase154()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.direction = CSSDirection.RTL;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 300;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = 1;
        node_1.style.minWidth = 120;
        node_1 = node_0.getChildAt(1);
        node_1.style.flex = 1;
        node_1.style.minWidth = 120;
        node_1 = node_0.getChildAt(2);
        node_1.style.flex = 1;
        node_1.style.minWidth = 120;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 300;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 180;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 120;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 60;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 120;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = -60;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 120;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
          }
        }

        test("should ignore flex size if fully min bound in rtl", root_node, root_layout);
    }
    public void TestCase204()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 100;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.overflow = CSSOverflow.Hidden;
        node_1.style.flex = -1;
        node_1.style.dimensions[DIMENSION_WIDTH] = 30;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_WIDTH] = 40;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(2);
        node_1.style.overflow = CSSOverflow.Hidden;
        node_1.style.flex = -1;
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 22.5f;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 22.5f;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 40;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 62.5f;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 37.5f;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        test("should shrink hidden row nodes proportional to their main size when there is not any space left over", root_node, root_layout);
    }
    public void TestCase15()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = 1;
        node_1.style.dimensions[DIMENSION_WIDTH] = 1000;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.flex = 1;
          node_2.style.dimensions[DIMENSION_WIDTH] = 1000;
          addChildren(node_2, 1);
          {
            TestCSSNode node_3;
            node_3 = node_2.getChildAt(0);
            node_3.style.flex = 1;
            node_3.style.dimensions[DIMENSION_WIDTH] = 1000;
          }
        }
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 1000;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 1000;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_2, 1);
          {
            TestCSSNode node_3;
            node_3 = node_2.getChildAt(0);
            node_3.layout.position[POSITION_TOP] = 0;
            node_3.layout.position[POSITION_LEFT] = 0;
            node_3.layout.dimensions[DIMENSION_WIDTH] = 1000;
            node_3.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          }
        }
          }
        }

        test("should layout node with flex recursively", root_node, root_layout);
    }
    public void TestCase192()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 100;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 25;
        node_1 = node_0.getChildAt(1);
        node_1.style.flex = -1;
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.dimensions[DIMENSION_WIDTH] = 100;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 30;
        }
        node_1 = node_0.getChildAt(2);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 15;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 25;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 25;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 30;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 30;
        }
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 55;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 15;
          }
        }

        test("should not shrink column node with siblings when there is space left over", root_node, root_layout);
    }
    public void TestCase14()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.ColumnReverse;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.style.flex = 1;
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 800;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 800;
          }
        }

        test("should layout node with just flex in reverse", root_node, root_layout);
    }
    public void TestCase186()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.alignItems = CSSAlign.Stretch;
          node_0.style.dimensions[DIMENSION_WIDTH] = 150;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flexDirection = CSSFlexDirection.Row;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.flexDirection = CSSFlexDirection.Row;
          addChildren(node_2, 1);
          {
            TestCSSNode node_3;
            node_3 = node_2.getChildAt(0);
            node_3.style.alignSelf = CSSAlign.Center;
          }
        }
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 150;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 150;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 10;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 0;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 140;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 0;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 140;
          addChildren(node_2, 1);
          {
            TestCSSNode node_3;
            node_3 = node_2.getChildAt(0);
            node_3.layout.position[POSITION_TOP] = 70;
            node_3.layout.position[POSITION_LEFT] = 0;
            node_3.layout.dimensions[DIMENSION_WIDTH] = 0;
            node_3.layout.dimensions[DIMENSION_HEIGHT] = 0;
          }
        }
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 0;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        test("should layout content of an item which is stretched late", root_node, root_layout);
    }
    public void TestCase188()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.alignSelf = CSSAlign.FlexStart;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1 = node_0.getChildAt(1);
        node_1.style.alignSelf = CSSAlign.Stretch;
        node_1.style.dimensions[DIMENSION_WIDTH] = 1;
        node_1 = node_0.getChildAt(2);
        node_1.style.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 11;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 150;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 10;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 0;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 0;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 1;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 150;
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 11;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 0;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        test("should layout child whose cross axis is null and whose alignSelf is stretch", root_node, root_layout);
    }
    public void TestCase167()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.positionType = CSSPositionType.Absolute;
        node_1.style.minWidth = 900;
        node_1.style.minHeight = 1000;
        node_1.style.position[POSITION_LEFT] = 100;
        node_1.style.position[POSITION_TOP] = 100;
        node_1.style.position[POSITION_RIGHT] = 100;
        node_1.style.position[POSITION_BOTTOM] = 100;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 100;
        node_1.layout.position[POSITION_LEFT] = 100;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 900;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          }
        }

        test("should layout node with position absolute, top and left and min bounds", root_node, root_layout);
    }
    public void TestCase168()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.justifyContent = CSSJustify.Center;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = 1;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 1000;
        node_1.style.maxWidth = 600;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 200;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 600;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          }
        }

        test("should center flexible item with max size", root_node, root_layout);
    }
    public void TestCase165()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.direction = CSSDirection.RTL;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1.style.minWidth = 100;
        node_1.style.minHeight = 110;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 110;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 900;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 110;
          }
        }

        test("should keep cross axis size within min bounds in rtl", root_node, root_layout);
    }
    public void TestCase10()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.direction = CSSDirection.RTL;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_WIDTH] = 300;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 900;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 600;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 300;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        test("should layout node with row flex direction in rtl", root_node, root_layout);
    }
    public void TestCase163()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.alignItems = CSSAlign.Stretch;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1.style.minWidth = 1100;
        node_1.style.minHeight = 110;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 110;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 1100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 110;
          }
        }

        test("should keep stretched size within min bounds", root_node, root_layout);
    }
    public void TestCase160()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.minWidth = 300;
          node_0.style.minHeight = 700;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 200;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 300;
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_WIDTH] = 200;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 300;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 300;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 700;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 200;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 300;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 300;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 200;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 300;
          }
        }

        test("should set parents size based on min bounded children", root_node, root_layout);
    }
    public void TestCase157()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 300;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = 1;
        node_1.style.minWidth = 310;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 300;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 310;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
          }
        }

        test("should pre-fill child size within min bounds", root_node, root_layout);
    }
    public void TestCase184()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 200;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 0;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 0;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 0;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 0;
          }
        }

        test("should layout node with a 0 width", root_node, root_layout);
    }
    public void TestCase169()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = 1;
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 1000;
        node_1 = node_0.getChildAt(1);
        node_1.style.flex = 1;
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 1000;
        node_1.style.maxWidth = 200;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 1000;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 800;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 1000;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 800;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 200;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 1000;
          }
        }

        test("should correctly size flexible items with flex basis and a max width", root_node, root_layout);
    }
    public void TestCase185()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.alignItems = CSSAlign.FlexStart;
          node_0.style.dimensions[DIMENSION_WIDTH] = 100;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 10;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 10;
        node_1 = node_0.getChildAt(1);
        node_1.style.flexDirection = CSSFlexDirection.Column;
        node_1.style.alignItems = CSSAlign.FlexStart;
        node_1.style.flex = 1;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 10;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.flex = 1;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 10;
          node_2.setMeasureFunction(sTestMeasureFunction);
          node_2.context = "measureWithMatchParent";
        }
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 10;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 10;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 50;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 10;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 50;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 10;
        }
          }
        }

        test("should correctly progagate size contraints from flexible parents", root_node, root_layout);
    }
    public void TestCase172()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 400;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 400;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = 1;
        node_1.setPadding(Spacing.LEFT, 10);
        node_1.setPadding(Spacing.TOP, 10);
        node_1.setPadding(Spacing.RIGHT, 10);
        node_1.setPadding(Spacing.BOTTOM, 10);
        node_1.setPadding(Spacing.START, 10);
        node_1.setPadding(Spacing.END, 10);
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.positionType = CSSPositionType.Absolute;
          node_2.style.position[POSITION_LEFT] = 10;
          node_2.style.position[POSITION_TOP] = 10;
          node_2.style.position[POSITION_RIGHT] = 10;
          node_2.style.position[POSITION_BOTTOM] = 10;
        }
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 400;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 400;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 400;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 400;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 10;
          node_2.layout.position[POSITION_LEFT] = 10;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 380;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 380;
        }
          }
        }

        test("should layout absolutely positioned node with padded flex 1 parent", root_node, root_layout);
    }
    public void TestCase187()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.dimensions[DIMENSION_WIDTH] = 200;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 200;
        }
        node_1 = node_0.getChildAt(1);
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
        }
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 210;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 200;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 200;
        }
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 210;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 190;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 0;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 190;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 0;
        }
          }
        }

        test("should layout items whose positioning is determined by sibling tree branches", root_node, root_layout);
    }
    public void TestCase173()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.direction = CSSDirection.RTL;
          node_0.style.dimensions[DIMENSION_WIDTH] = 200;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flexDirection = CSSFlexDirection.Row;
        addChildren(node_1, 2);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.dimensions[DIMENSION_WIDTH] = 50;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 50;
          node_2 = node_1.getChildAt(1);
          node_2.style.dimensions[DIMENSION_WIDTH] = 50;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 50;
        }
        node_1 = node_0.getChildAt(1);
        node_1.style.direction = CSSDirection.LTR;
        node_1.style.flexDirection = CSSFlexDirection.Row;
        addChildren(node_1, 2);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.dimensions[DIMENSION_WIDTH] = 50;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 50;
          node_2 = node_1.getChildAt(1);
          node_2.style.dimensions[DIMENSION_WIDTH] = 50;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 50;
        }
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 200;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        addChildren(node_1, 2);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 150;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 50;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 50;
          node_2 = node_1.getChildAt(1);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 100;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 50;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 50;
        }
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 50;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 200;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        addChildren(node_1, 2);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 50;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 50;
          node_2 = node_1.getChildAt(1);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 50;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 50;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 50;
        }
          }
        }

        test("should layout nested nodes with mixed directions", root_node, root_layout);
    }
    public void TestCase189()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.dimensions[DIMENSION_WIDTH] = 100;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 100;
        }
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.flexDirection = CSSFlexDirection.Column;
          node_2.style.alignItems = CSSAlign.Center;
          addChildren(node_2, 1);
          {
            TestCSSNode node_3;
            node_3 = node_2.getChildAt(0);
            node_3.style.dimensions[DIMENSION_WIDTH] = 50;
            node_3.style.dimensions[DIMENSION_HEIGHT] = 50;
          }
        }
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 100;
        }
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 100;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 50;
          addChildren(node_2, 1);
          {
            TestCSSNode node_3;
            node_3 = node_2.getChildAt(0);
            node_3.layout.position[POSITION_TOP] = 0;
            node_3.layout.position[POSITION_LEFT] = 25;
            node_3.layout.dimensions[DIMENSION_WIDTH] = 50;
            node_3.layout.dimensions[DIMENSION_HEIGHT] = 50;
          }
        }
          }
        }

        test("should center items correctly inside a stretched layout", root_node, root_layout);
    }
    public void TestCase174()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.justifyContent = CSSJustify.SpaceBetween;
          node_0.style.flexWrap = CSSWrap.Wrap;
          node_0.style.dimensions[DIMENSION_WIDTH] = 320;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 6);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(2);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(3);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(4);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(5);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 320;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 6);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 110;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 220;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(3);
        node_1.layout.position[POSITION_TOP] = 100;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(4);
        node_1.layout.position[POSITION_TOP] = 100;
        node_1.layout.position[POSITION_LEFT] = 110;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(5);
        node_1.layout.position[POSITION_TOP] = 100;
        node_1.layout.position[POSITION_LEFT] = 220;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        test("should correctly space wrapped nodes", root_node, root_layout);
    }
    public void TestCase196()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 100;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = -1;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.dimensions[DIMENSION_WIDTH] = 200;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 100;
        }
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 100;
        }
          }
        }

        test("should shrink visible row node when there is not any space left over", root_node, root_layout);
    }
    public void TestCase11()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 300;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 100;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_WIDTH] = 300;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 300;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 350;
          addChildren(node_0, 2);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 200;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 300;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 150;
          }
        }

        test("should layout node based on children main dimensions", root_node, root_layout);
    }
    public void TestCase203()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 100;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 25;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.style.overflow = CSSOverflow.Hidden;
        node_1.style.flex = -1;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.dimensions[DIMENSION_WIDTH] = 80;
          node_2.style.dimensions[DIMENSION_HEIGHT] = 100;
        }
        node_1 = node_0.getChildAt(2);
        node_1.style.dimensions[DIMENSION_WIDTH] = 15;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 25;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 25;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 60;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 80;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 100;
        }
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 85;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 15;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        test("should shrink hidden row node with siblings when there is not any space left over", root_node, root_layout);
    }
    public void TestCase177()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.dimensions[DIMENSION_WIDTH] = 200;
          node_0.setBorder(Spacing.LEFT, 5);
          node_0.setBorder(Spacing.RIGHT, 5);
          node_0.setBorder(Spacing.START, 15);
          node_0.setBorder(Spacing.END, 15);
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 50;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 15;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 170;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
          }
        }

        test("should give start/end border precedence over left/right border", root_node, root_layout);
    }
    public void TestCase206()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 140;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 25;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.style.flexDirection = CSSFlexDirection.Row;
        node_1.style.alignItems = CSSAlign.FlexStart;
        node_1.style.flex = -1;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.style.flex = -1;
          node_2.setMeasureFunction(sTestMeasureFunction);
          node_2.context = "loooooooooong with space";
        }
        node_1 = node_0.getChildAt(2);
        node_1.style.dimensions[DIMENSION_WIDTH] = 15;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 140;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 100;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 25;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 25;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 100;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        addChildren(node_1, 1);
        {
          TestCSSNode node_2;
          node_2 = node_1.getChildAt(0);
          node_2.layout.position[POSITION_TOP] = 0;
          node_2.layout.position[POSITION_LEFT] = 0;
          node_2.layout.dimensions[DIMENSION_WIDTH] = 100;
          node_2.layout.dimensions[DIMENSION_HEIGHT] = 36;
        }
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 125;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 15;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
          }
        }

        test("should shrink text node with siblings when there is not any space left over", root_node, root_layout);
    }
    public void TestCase183()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.direction = CSSDirection.RTL;
          node_0.style.dimensions[DIMENSION_WIDTH] = 200;
          node_0.setBorder(Spacing.START, 15);
          node_0.setBorder(Spacing.END, 5);
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 200;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 50;
          addChildren(node_0, 1);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 5;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 180;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
          }
        }

        test("should layout node with correct start/end border in rtl", root_node, root_layout);
    }
    public void TestCase207()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.alignContent = CSSAlign.Stretch;
          node_0.style.alignItems = CSSAlign.FlexStart;
          node_0.style.flexWrap = CSSWrap.Wrap;
          node_0.style.dimensions[DIMENSION_WIDTH] = 300;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 380;
          addChildren(node_0, 15);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(1);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(2);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(3);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(4);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(5);
        node_1.style.alignSelf = CSSAlign.FlexStart;
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(6);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(7);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 100;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(8);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(9);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(10);
        node_1.style.alignSelf = CSSAlign.FlexStart;
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(11);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(12);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(13);
        node_1.style.alignSelf = CSSAlign.FlexStart;
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
        node_1 = node_0.getChildAt(14);
        node_1.style.dimensions[DIMENSION_WIDTH] = 50;
        node_1.style.dimensions[DIMENSION_HEIGHT] = 50;
        node_1.setMargin(Spacing.LEFT, 10);
        node_1.setMargin(Spacing.TOP, 10);
        node_1.setMargin(Spacing.RIGHT, 10);
        node_1.setMargin(Spacing.BOTTOM, 10);
        node_1.setMargin(Spacing.START, 10);
        node_1.setMargin(Spacing.END, 10);
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 300;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 380;
          addChildren(node_0, 15);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 10;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 10;
        node_1.layout.position[POSITION_LEFT] = 80;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 10;
        node_1.layout.position[POSITION_LEFT] = 150;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(3);
        node_1.layout.position[POSITION_TOP] = 10;
        node_1.layout.position[POSITION_LEFT] = 220;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(4);
        node_1.layout.position[POSITION_TOP] = 92.5f;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(5);
        node_1.layout.position[POSITION_TOP] = 92.5f;
        node_1.layout.position[POSITION_LEFT] = 80;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(6);
        node_1.layout.position[POSITION_TOP] = 92.5f;
        node_1.layout.position[POSITION_LEFT] = 150;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(7);
        node_1.layout.position[POSITION_TOP] = 92.5f;
        node_1.layout.position[POSITION_LEFT] = 220;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 100;
        node_1 = node_0.getChildAt(8);
        node_1.layout.position[POSITION_TOP] = 225;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(9);
        node_1.layout.position[POSITION_TOP] = 225;
        node_1.layout.position[POSITION_LEFT] = 80;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(10);
        node_1.layout.position[POSITION_TOP] = 225;
        node_1.layout.position[POSITION_LEFT] = 150;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(11);
        node_1.layout.position[POSITION_TOP] = 225;
        node_1.layout.position[POSITION_LEFT] = 220;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(12);
        node_1.layout.position[POSITION_TOP] = 307.5f;
        node_1.layout.position[POSITION_LEFT] = 10;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(13);
        node_1.layout.position[POSITION_TOP] = 307.5f;
        node_1.layout.position[POSITION_LEFT] = 80;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
        node_1 = node_0.getChildAt(14);
        node_1.layout.position[POSITION_TOP] = 307.5f;
        node_1.layout.position[POSITION_LEFT] = 150;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 50;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 50;
          }
        }

        test("should layout with alignContent: stretch, and alignItems: flex-start", root_node, root_layout);
    }
    public void TestCase149()
    {
        TestCSSNode root_node = new TestCSSNode();
        {
          TestCSSNode node_0 = root_node;
          node_0.style.flexDirection = CSSFlexDirection.Row;
          node_0.style.dimensions[DIMENSION_WIDTH] = 300;
          node_0.style.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.style.flex = 1;
        node_1 = node_0.getChildAt(1);
        node_1.style.flex = 1;
        node_1.style.maxWidth = 60;
        node_1 = node_0.getChildAt(2);
        node_1.style.flex = 1;
          }
        }

        TestCSSNode root_layout = new TestCSSNode();
        {
          TestCSSNode node_0 = root_layout;
          node_0.layout.position[POSITION_TOP] = 0;
          node_0.layout.position[POSITION_LEFT] = 0;
          node_0.layout.dimensions[DIMENSION_WIDTH] = 300;
          node_0.layout.dimensions[DIMENSION_HEIGHT] = 200;
          addChildren(node_0, 3);
          {
        TestCSSNode node_1;
        node_1 = node_0.getChildAt(0);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 0;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 120;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(1);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 120;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 60;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
        node_1 = node_0.getChildAt(2);
        node_1.layout.position[POSITION_TOP] = 0;
        node_1.layout.position[POSITION_LEFT] = 180;
        node_1.layout.dimensions[DIMENSION_WIDTH] = 120;
        node_1.layout.dimensions[DIMENSION_HEIGHT] = 200;
          }
        }

        test("should override flex direction size with max bounds", root_node, root_layout);
    }