Exemple #1
0
        public void Calculate_Connectors_Works()
        {
            var nodes = CreateNodes(
                new NodeSpecification("A", new Size2D(1, 2)),
                new NodeSpecification("B", new Size2D(3, 4)));

            var connectors = CreateConnectors(nodes, new ConnectorSpecification("A", "B"));

            var layoutGroup     = LayoutGroup.CreateForRoot(nodes, connectors);
            var layoutAlgorithm = CreateLayoutAlgorithm();
            var layout          = layoutAlgorithm.Calculate(layoutGroup);

            layout.Connectors.Select(i => i.Route).Should().BeEquivalentTo(new[] { new Route(new Point2D(0.5, 1), new Point2D(1.5, 6)) });
        }
Exemple #2
0
        public void Calculate_Nodes_Works()
        {
            var layoutGroup = LayoutGroup.CreateForRoot(
                CreateNodes(
                    new NodeSpecification("A", new Size2D(1, 2)),
                    new NodeSpecification("B", new Size2D(3, 4)),
                    new NodeSpecification("C", new Size2D(5, 6))),
                ImmutableHashSet <IDiagramConnector> .Empty);

            var layout = CreateLayoutAlgorithm().Calculate(layoutGroup);

            layout.Connectors.Should().BeEmpty();
            layout.Nodes.OrderBy(i => i.Node.Name).Select(i => i.Rect.TopLeft)
            .Should().BeEquivalentTo(new Point2D(0, 0), new Point2D(0, 4), new Point2D(0, 10));
        }