|
| 1 | +import unittest |
| 2 | +from satellite_node_network.satellite_node import SatelliteNode |
| 3 | + |
| 4 | +class TestSatelliteNode(unittest.TestCase): |
| 5 | + def setUp(self): |
| 6 | + """Set up a SatelliteNode instance for testing.""" |
| 7 | + self.node = SatelliteNode(node_id="Node1", location="Orbit 1") |
| 8 | + self.connected_node = SatelliteNode(node_id="Node2", location="Orbit 2") |
| 9 | + |
| 10 | + def test_initialization(self): |
| 11 | + """Test that the node is initialized correctly.""" |
| 12 | + self.assertEqual(self.node.node_id, "Node1") |
| 13 | + self.assertEqual(self.node.location, "Orbit 1") |
| 14 | + self.assertEqual(self.node.connected_nodes, []) |
| 15 | + self.assertEqual(self.node.data_storage, {}) |
| 16 | + |
| 17 | + def test_connect_to_node(self): |
| 18 | + """Test connecting to another node.""" |
| 19 | + self.node.connect_to_node(self.connected_node) |
| 20 | + self.assertIn(self.connected_node, self.node.connected_nodes) |
| 21 | + self.assertIn(self.node, self.connected_node.connected_nodes) |
| 22 | + |
| 23 | + def test_disconnect_from_node(self): |
| 24 | + """Test disconnecting from another node.""" |
| 25 | + self.node.connect_to_node(self.connected_node) |
| 26 | + self.node.disconnect_from_node(self.connected_node) |
| 27 | + self.assertNotIn(self.connected_node, self.node.connected_nodes) |
| 28 | + self.assertNotIn(self.node, self.connected_node.connected_nodes) |
| 29 | + |
| 30 | + def test_process_data(self): |
| 31 | + """Test processing incoming data.""" |
| 32 | + raw_data = {'temperature': 75, 'humidity': 50} |
| 33 | + processed_data = self.node.process_data(raw_data) |
| 34 | + self.assertIn('temperature', processed_data) |
| 35 | + self.assertIn('humidity', processed_data) |
| 36 | + |
| 37 | + def test_get_connected_nodes(self): |
| 38 | + """Test getting the list of connected nodes.""" |
| 39 | + self.node.connect_to_node(self.connected_node) |
| 40 | + connected_nodes = self.node.get_connected_nodes() |
| 41 | + self.assertIn("Node2", connected_nodes) |
| 42 | + |
| 43 | + def test_to_json(self): |
| 44 | + """Test JSON serialization of the node.""" |
| 45 | + self.node.connect_to_node(self.connected_node) |
| 46 | + json_data = self.node.to_json() |
| 47 | + self.assertIn("Node1", json_data) |
| 48 | + self.assertIn("Node2", json_data) |
| 49 | + |
| 50 | +if __name__ == "__main__": |
| 51 | + unittest.main() |
0 commit comments