mirror of
https://github.com/logos-blockchain/logos-blockchain-simulations.git
synced 2026-01-08 16:13:14 +00:00
21 lines
698 B
Python
21 lines
698 B
Python
import random
|
|
from unittest import TestCase
|
|
|
|
from sim.topology import are_all_nodes_connected, build_full_random_topology
|
|
|
|
|
|
class TestTopology(TestCase):
|
|
def test_full_random(self):
|
|
num_nodes = 100
|
|
peering_degree = 6
|
|
topology = build_full_random_topology(
|
|
random.Random(0), num_nodes, peering_degree
|
|
)
|
|
self.assertEqual(num_nodes, len(topology))
|
|
self.assertTrue(are_all_nodes_connected(topology))
|
|
for node, peers in topology.items():
|
|
self.assertTrue(0 < len(peers) <= peering_degree)
|
|
# Check if nodes are interconnected
|
|
for peer in peers:
|
|
self.assertIn(node, topology[peer])
|