Beispiel #1
0
        private void CreateNodes()
        {
            foreach (var node in _nodeGenerator.GenerateNodes(_nodeCount))
            {
                _network.AddNode(node);
            }

            var centralMachine = _network.Nodes.First();

            centralMachine.NodeType = NodeType.CentralMachine;
        }
        public void Setup()
        {
            Mapper.Initialize(MapperInitializer.InitializeMapper);

            _networkInfoRetriever = new NetworkInfoRetriever();

            _network = new Network();

            var nodes = new[]
            {
                new Node
                {
                    Id                   = 0,
                    LinkedNodesId        = new SortedSet <uint>(new uint[] { 1 }),
                    MessageQueueHandlers = new List <MessageQueueHandler>()
                },
                new Node
                {
                    Id                   = 1,
                    LinkedNodesId        = new SortedSet <uint>(new uint[] { 0 }),
                    MessageQueueHandlers = new List <MessageQueueHandler>()
                }
            };

            foreach (var node in nodes)
            {
                _network.AddNode(node);
            }

            var channels = new[]
            {
                new Channel
                {
                    Id             = Guid.Empty,
                    ConnectionType = ConnectionType.Duplex,
                    ChannelType    = ChannelType.Ground,
                    ErrorChance    = 0.5,
                    SecondNodeId   = 0,
                    FirstNodeId    = 1,
                    Price          = 20,
                    Capacity       = 20,
                }
            };

            foreach (var channel in channels)
            {
                _network.AddChannel(channel);
            }
        }
        public INetworkHandler Build()
        {
            var metropolianNetworks = CreateMetropolianNetworks();

            ConvertMetropolianNetworksToWideAreaNetwork(metropolianNetworks);

            var centralMachine = GenerateCentralMachineNode();

            _network.AddNode(centralMachine);

            var nodesIdConnectedToCentralMachine = CreateSetOfConnectedToCentralMachineNodesId(metropolianNetworks);

            ConnectCentralMachineToOtherNodes(nodesIdConnectedToCentralMachine, centralMachine.Id);

            return(_network);
        }
Beispiel #4
0
        private void AddNode_OnClick(object sender, RoutedEventArgs e)
        {
            var node = new Node
            {
                Id                   = _network.Nodes.Max(n => n.Id) + 1,
                LinkedNodesId        = new SortedSet <uint>(),
                MessageQueueHandlers = new List <MessageQueueHandler>(),
                IsActive             = false,
                NodeType             = NodeType.SimpleNode,
                ReceivedMessages     = new List <Message>(),
                CanceledMessages     = new List <Message>()
            };

            _network.AddNode(node);

            _nodeDrawer.DrawComponents(GeneratedCanvas);
        }
        private void ConvertMetropolianNetworksToWideAreaNetwork(IEnumerable <INetworkHandler> metropolitanNetworks)
        {
            _network = new Network();

            foreach (var metropolitanNetwork in metropolitanNetworks)
            {
                foreach (var node in metropolitanNetwork.Nodes)
                {
                    node.NodeType = NodeType.SimpleNode;
                    _network.AddNode(node);
                }

                foreach (var channel in metropolitanNetwork.Channels)
                {
                    _network.AddChannel(channel);
                }
            }
        }
Beispiel #6
0
        private void ParseNodes(JObject unparsedNetwork, INetworkHandler network)
        {
            foreach (var nodeInfo in unparsedNetwork["NodeIoDtos"])
            {
                var node = new Node
                {
                    Id                   = (uint)nodeInfo["Id"],
                    LinkedNodesId        = new SortedSet <uint>(),
                    MessageQueueHandlers = new List <MessageQueueHandler>(),
                    NodeType             = (NodeType)(int)nodeInfo["NodeType"],
                    IsActive             = true,
                    ReceivedMessages     = new List <Message>(),
                    CanceledMessages     = new List <Message>()
                };

                network.AddNode(node);
            }
        }
Beispiel #7
0
        public void AddNodeShouldAddNodeWithCorrectId()
        {
            // Arrange
            // Act
            _network.AddNode(_node1);

            // Assert
            Assert.That(_network.Nodes.Any(n => n.Id == _node1.Id), Is.True);
        }