private void ConnectCentralMachineToOtherNodes(IEnumerable <uint> nodesIdConnectedToCentralMachine, uint centralMachineId) { foreach (var nodeId in nodesIdConnectedToCentralMachine) { var price = ChannelParamsGenerator.GetRandomPrice(); var capacity = ChannelParamsGenerator.GetCapactity(price) / 3; var channel = new Channel { Id = Guid.NewGuid(), FirstNodeId = centralMachineId, SecondNodeId = nodeId, ConnectionType = ConnectionType.Duplex, ChannelType = ChannelType.Satellite, ErrorChance = AllConstants.RandomGenerator.NextDouble(), Price = price, IsBusy = false, Capacity = capacity }; var metropolitanNode = _network.GetNodeById(nodeId); metropolitanNode.NodeType = NodeType.MainMetropolitanMachine; _network.AddChannel(channel); } }
private void CreateChannels() { foreach (var node in _network.Nodes) { var numberOfChannels = GetNumberOfChannels(node); for (var i = 0; i < numberOfChannels; i++) { var channel = GenerateChannel(node.Id); _network.AddChannel(channel); } } }
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); } }
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); } } }
private void ParseChannels(JObject unparsedNetwork, INetworkHandler network) { foreach (var channelInfo in unparsedNetwork["ChannelIoDtos"]) { var channel = new Channel { Id = (Guid)channelInfo["Id"], Price = (int)channelInfo["Price"], ErrorChance = (double)channelInfo["ErrorChance"], FirstNodeId = (uint)channelInfo["FirstNodeId"], SecondNodeId = (uint)channelInfo["SecondNodeId"], ConnectionType = (ConnectionType)(int)channelInfo["ConnectionType"], ChannelType = (ChannelType)(int)channelInfo["ChannelType"], IsBusy = false, Capacity = (int)channelInfo["Capacity"] }; network.AddChannel(channel); } }
private void OnChannelAddEventHandler(Channel channel) { _network.AddChannel(channel); _channelDrawer.DrawComponents(GeneratedCanvas); }
public void AddChannelShouldAddChannelBetweenTwoNodes() { // Arrange _network.AddNode(_node1); _network.AddNode(_node2); // Act _network.AddChannel(_channel); // Assert Assert.IsTrue(_network.Channels.Contains(_channel)); Assert.IsTrue(_node1.LinkedNodesId.Contains(_node2.Id)); Assert.IsTrue(_node2.LinkedNodesId.Contains(_node1.Id)); Assert.IsTrue(_node1.LinkedNodesId.Contains(_node2.Id)); Assert.IsTrue(_node2.LinkedNodesId.Contains(_node1.Id)); }