Spaces:
Sleeping
Sleeping
Download tests/test_validator.py from winsweb/teleprocessinggh: direct link, hf CLI and curl.
- Browser
- Download file 2.22 kB
-
https://huggingface.co/spaces/winsweb/teleprocessinggh/resolve/main/tests/test_validator.py
- Command line
-
hf download hf://spaces/winsweb/teleprocessinggh/tests/test_validator.py
-
curl -L -o test_validator.py https://huggingface.co/spaces/winsweb/teleprocessinggh/resolve/main/tests/test_validator.py
2.22 kB
| """ | |
| Tests for data validator | |
| """ | |
| import unittest | |
| from datetime import datetime | |
| from telecom_anomaly.validation.validator import DataValidator | |
| class TestDataValidator(unittest.TestCase): | |
| def setUp(self): | |
| self.validator = DataValidator() | |
| def test_validate_msisdn_valid(self): | |
| self.assertTrue(self.validator.validate_msisdn('233123456789')) | |
| self.assertTrue(self.validator.validate_msisdn('MTN')) | |
| def test_validate_msisdn_invalid(self): | |
| self.assertFalse(self.validator.validate_msisdn('')) | |
| self.assertFalse(self.validator.validate_msisdn('12345')) | |
| self.assertFalse(self.validator.validate_msisdn('23312345')) # Too short | |
| def test_validate_duration(self): | |
| self.assertEqual(self.validator.validate_duration('120'), 120.0) | |
| self.assertEqual(self.validator.validate_duration('-10'), 0.0) | |
| self.assertEqual(self.validator.validate_duration(''), 0.0) | |
| self.assertEqual(self.validator.validate_duration(None), 0.0) | |
| def test_validate_coordinates(self): | |
| lat, lon = self.validator.validate_coordinates('5.5', '-0.2') | |
| self.assertEqual(lat, 5.5) | |
| self.assertEqual(lon, -0.2) | |
| lat, lon = self.validator.validate_coordinates('', '') | |
| self.assertIsNone(lat) | |
| self.assertIsNone(lon) | |
| lat, lon = self.validator.validate_coordinates('100', '200') # Invalid | |
| self.assertIsNone(lat) | |
| self.assertIsNone(lon) | |
| def test_parse_datetime(self): | |
| dt = self.validator.parse_datetime('2024-01-01', '12:30:00') | |
| self.assertIsNotNone(dt) | |
| self.assertEqual(dt.year, 2024) | |
| self.assertEqual(dt.month, 1) | |
| self.assertEqual(dt.day, 1) | |
| dt = self.validator.parse_datetime('NULL', 'NULL') | |
| self.assertIsNone(dt) | |
| def test_is_night_call(self): | |
| self.assertTrue(self.validator.is_night_call('23:30:00', 23, 5)) | |
| self.assertTrue(self.validator.is_night_call('02:00:00', 23, 5)) | |
| self.assertFalse(self.validator.is_night_call('14:00:00', 23, 5)) | |
| self.assertFalse(self.validator.is_night_call('', 23, 5)) | |
| if __name__ == '__main__': | |
| unittest.main() |