Example #1
0
        public void SetNodeData(IBasicAdjList network)
        {
            var dataTypes = new Type[panel1.Controls.Count];
            for (int i = 0; i < panel1.Controls.Count; i++)
            {
                dataTypes[i] = ((MappedDataTypeCtrl)panel1.Controls[i]).DataType;
            }

            if(dataTypes.Length>0)
            {
                var builder = new DataAttributesBuilder();
                builder.RandMaxIntValue = network.NodeCount;
                builder.AddColumns((INodeAttributes)network, dataTypes);
            }
        }
        //Helpers
        public IBasicAdjList GetTestNetA()
        {
            //Arrange
            var nodeAttribCols = new string[] {"n0", "n1", "n 2"};
            var nodeAttribColTypes = new Type[] {typeof (int), typeof (string), typeof (double)};
            var edgeAttribCols = new string[] {"e0", "e1", "e 2"};
            var edgeAttribColTypes = new Type[] {typeof (int), typeof (string), typeof (double)};

            var net = BasicAdjListGenerator.GenerateAdjListWithDataAttribs(0, 0, false, true, true);
            var nodeA = net.CreateNode();
            var nodeB = net.CreateNode();
            var nodeC = net.CreateNode();

            net.CreateEdge(nodeA, nodeB); // 0 - 1
            net.CreateEdge(nodeB, nodeC); // 1 - 2
            net.CreateEdge(nodeC, nodeA); // 2 - 0

            var builder = new DataAttributesBuilder();
            builder.AddColumns((INodeAttributes)net, nodeAttribColTypes, nodeAttribCols, false);
            builder.AddColumns((IEdgeAttributes)net, edgeAttribColTypes, edgeAttribCols, false);

            foreach (var node in net.Nodes)
            {
                net.NodeData.SetValue(node, 0, 33);
                net.NodeData.SetValue(node, 1, "33");
                net.NodeData.SetValue(node, 2, 33.33);
            }

            foreach (var edge in net.Edges)
            {
                net.EdgeData.SetValue(edge, 0, 33);
                net.EdgeData.SetValue(edge, 1, "33");
                net.EdgeData.SetValue(edge, 2, 33.33);
            }

            return net;
        }