Skip to content

Commit 551e8c9

Browse files
authored
Create test_biosensors.py
1 parent 5569d7f commit 551e8c9

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

tests/test_biosensors.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# tests/test_biosensors.py
2+
3+
import unittest
4+
from biosensors.sensor_manager import SensorManager
5+
6+
class TestSensorManager(unittest.TestCase):
7+
def setUp(self):
8+
"""
9+
Set up the test environment before each test.
10+
"""
11+
self.sensor_ids = ["sensor_1", "sensor_2", "sensor_3"]
12+
self.manager = SensorManager(self.sensor_ids)
13+
self.manager.connect_sensors()
14+
15+
def tearDown(self):
16+
"""
17+
Clean up after each test.
18+
"""
19+
self.manager.disconnect_sensors()
20+
21+
def test_connect_sensors(self):
22+
"""
23+
Test that sensors are connected successfully.
24+
"""
25+
self.assertTrue(all(self.manager.connected_sensors.values()), "Not all sensors are connected.")
26+
27+
def test_collect_data(self):
28+
"""
29+
Test that data is collected from connected sensors.
30+
"""
31+
collected_data = self.manager.collect_data()
32+
self.assertEqual(len(collected_data), len(self.sensor_ids), "Data collection did not return the expected number of sensors.")
33+
for sensor_id, data in collected_data.items():
34+
self.assertIn("temperature", data, f"Temperature data missing for {sensor_id}.")
35+
self.assertIn("heart_rate", data, f"Heart rate data missing for {sensor_id}.")
36+
self.assertIn("timestamp", data, f"Timestamp data missing for {sensor_id}.")
37+
38+
def test_data_format(self):
39+
"""
40+
Test that the collected data is in the correct format.
41+
"""
42+
collected_data = self.manager.collect_data()
43+
for sensor_id, data in collected_data.items():
44+
self.assertIsInstance(data['temperature'], float, f"Temperature for {sensor_id} is not a float.")
45+
self.assertIsInstance(data['heart_rate'], int, f"Heart rate for {sensor_id} is not an int.")
46+
47+
if __name__ == "__main__":
48+
unittest.main()

0 commit comments

Comments
 (0)