"""Unit tests for utility functions."""
import unittest
from attendance_app.utils import machine_name
class TestMachineName(unittest.TestCase):
"""Test machine_name function."""
def test_grl_room(self):
"""Test GRL room IP mapping."""
self.assertEqual(machine_name("172.29.11.116.151"), "GRL-01")
self.assertEqual(machine_name("172.29.11.116.152"), "GRL-02")
self.assertEqual(machine_name("172.29.11.116.199"), "GRL-49")
def test_grl_alternate_range(self):
"""Test GRL alternate IP range."""
self.assertEqual(machine_name("172.29.11.116.81"), "GRL-01")
self.assertEqual(machine_name("172.29.11.116.82"), "GRL-02")
def test_ml1_room(self):
"""Test ML1 room IP mapping."""
self.assertEqual(machine_name("172.29.11.117.151"), "ML1-01")
self.assertEqual(machine_name("172.29.11.117.160"), "ML1-10")
def test_ml2_room(self):
"""Test ML2 room IP mapping."""
self.assertEqual(machine_name("172.29.11.118.151"), "ML2-01")
def test_iml_room(self):
"""Test IML room IP mapping."""
self.assertEqual(machine_name("172.29.11.119.151"), "IML-01")
self.assertEqual(machine_name("172.29.11.119.213"), "IML-63")
def test_teacher_stations(self):
"""Test teacher station IP mapping."""
self.assertEqual(machine_name("172.29.11.116.220"), "GRL-T00")
self.assertEqual(machine_name("172.29.11.116.221"), "GRL-T01")
self.assertEqual(machine_name("172.29.11.116.226"), "GRL-T01")
self.assertEqual(machine_name("172.29.11.117.220"), "ML1-T00")
def test_invalid_ip(self):
"""Test invalid IP addresses."""
self.assertEqual(machine_name("192.168.1.1"), "192.168.1.1")
self.assertEqual(machine_name("172.29.11.120.151"), "172.29.11.120.151")
self.assertEqual(machine_name("172.29.11.116.50"), "172.29.11.116.50")
def test_edge_cases(self):
"""Test edge cases."""
self.assertEqual(machine_name("172.29.11.116.150"), "172.29.11.116.150")
self.assertEqual(machine_name("172.29.11.116.200"), "172.29.11.116.200")
if __name__ == '__main__':
unittest.main()