from datetime import datetime
from unittest import TestCase
from ..constant_version import ConstantVersion
[docs]class TestConstantVersion(TestCase):
[docs] def test_defaults(self):
cv = ConstantVersion()
self.assertIsNone(cv.file_name)
self.assertIsNone(cv.description)
self.assertTrue(cv.good_quality)
self.assertIsNone(cv.begin_at)
self.assertIsNone(cv.begin_validity_at)
self.assertIsNone(cv.end_validity_at)
self.assertIsNone(cv.raw_data_location)
[docs] def test_time_assignments(self):
now = datetime.now()
cv = ConstantVersion()
with self.assertRaises(ValueError):
cv.begin_validity_at = '23:00:00'
cv.begin_validity_at = now
self.assertEqual(cv.begin_validity_at, now)
with self.assertRaises(ValueError):
cv.end_validity_at = '23:00:00'
cv.end_validity_at = now
self.assertEqual(cv.end_validity_at, now)
with self.assertRaises(ValueError):
cv.begin_at = '23:00:00'
cv.begin_at = now
self.assertEqual(cv.begin_at, now)
[docs] def test_to_dict(self):
now = datetime.now()
cv = ConstantVersion()
cv.good_quality = False
cv.begin_at = now
cv.begin_validity_at = now
cv.description = "Foo"
cv.raw_data_location = "/path/to/foo"
cv.file_name = "hoo/boo"
with self.assertRaises(AttributeError):
cv.to_dict()
cv.device_name = "foo"
cv.karabo_id = "INST_EXP_DET"
cv.end_validity_at = None
self.assertEqual(cv.to_dict(),
{'pdu_physical_name': 'foo',
'karabo_id': 'INST_EXP_DET',
'begin_validity_at': now.isoformat(),
'begin_at': now.isoformat(),
'description': 'Foo',
'raw_data_location': '/path/to/foo',
'end_validity_at': None, 'file_name': 'hoo/boo',
'flg_good_quality': False}
)