mirror of
https://github.com/kennethreitz/tablib.git
synced 2026-06-05 06:56:13 +00:00
Add more tests
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
#!/usr/bin/env python
|
||||
"""Tests for tablib.packages.dbfpy."""
|
||||
|
||||
import datetime
|
||||
import unittest
|
||||
|
||||
from tablib.packages.dbfpy import utils
|
||||
|
||||
|
||||
class UtilsUnzfillTestCase(unittest.TestCase):
|
||||
"""dbfpy.utils.unzfill test cases."""
|
||||
|
||||
def test_unzfill_with_nul(self):
|
||||
# Arrange
|
||||
text = b"abc\0xyz"
|
||||
|
||||
# Act
|
||||
output = utils.unzfill(text)
|
||||
|
||||
# Assert
|
||||
self.assertEqual(output, b"abc")
|
||||
|
||||
def test_unzfill_without_nul(self):
|
||||
# Arrange
|
||||
text = b"abcxyz"
|
||||
|
||||
# Act
|
||||
output = utils.unzfill(text)
|
||||
|
||||
# Assert
|
||||
self.assertEqual(output, b"abcxyz")
|
||||
|
||||
|
||||
class UtilsGetDateTestCase(unittest.TestCase):
|
||||
"""dbfpy.utils.getDate test cases."""
|
||||
|
||||
def test_getDate_none(self):
|
||||
# Arrange
|
||||
value = None
|
||||
|
||||
# Act
|
||||
output = utils.getDate(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
|
||||
def test_getDate_datetime_date(self):
|
||||
# Arrange
|
||||
value = datetime.date(2019, 10, 19)
|
||||
|
||||
# Act
|
||||
output = utils.getDate(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
self.assertEqual(output, value)
|
||||
|
||||
def test_getDate_datetime_datetime(self):
|
||||
# Arrange
|
||||
value = datetime.datetime(2019, 10, 19, 12, 00, 00)
|
||||
|
||||
# Act
|
||||
output = utils.getDate(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
self.assertEqual(output, value)
|
||||
|
||||
def test_getDate_datetime_timestamp(self):
|
||||
# Arrange
|
||||
value = 1571515306
|
||||
|
||||
# Act
|
||||
output = utils.getDate(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
self.assertEqual(output, datetime.date(2019, 10, 19))
|
||||
|
||||
def test_getDate_datetime_string_yyyy_mm_dd(self):
|
||||
# Arrange
|
||||
value = "20191019"
|
||||
|
||||
# Act
|
||||
output = utils.getDate(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
self.assertEqual(output, datetime.date(2019, 10, 19))
|
||||
|
||||
def test_getDate_datetime_string_yymmdd(self):
|
||||
# Arrange
|
||||
value = "191019"
|
||||
|
||||
# Act
|
||||
output = utils.getDate(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
self.assertEqual(output, datetime.date(2019, 10, 19))
|
||||
|
||||
|
||||
class UtilsGetDateTimeTestCase(unittest.TestCase):
|
||||
"""dbfpy.utils.getDateTime test cases."""
|
||||
|
||||
def test_getDateTime_none(self):
|
||||
# Arrange
|
||||
value = None
|
||||
|
||||
# Act
|
||||
output = utils.getDateTime(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.datetime)
|
||||
|
||||
def test_getDateTime_datetime_datetime(self):
|
||||
# Arrange
|
||||
value = datetime.datetime(2019, 10, 19, 12, 00, 00)
|
||||
|
||||
# Act
|
||||
output = utils.getDateTime(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
self.assertEqual(output, value)
|
||||
|
||||
def test_getDateTime_datetime_date(self):
|
||||
# Arrange
|
||||
value = datetime.date(2019, 10, 19)
|
||||
|
||||
# Act
|
||||
output = utils.getDateTime(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.date)
|
||||
self.assertEqual(output, datetime.datetime(2019, 10, 19, 00, 00))
|
||||
|
||||
def test_getDateTime_datetime_timestamp(self):
|
||||
# Arrange
|
||||
value = 1571515306
|
||||
|
||||
# Act
|
||||
output = utils.getDateTime(value)
|
||||
|
||||
# Assert
|
||||
self.assertIsInstance(output, datetime.datetime)
|
||||
|
||||
def test_getDateTime_datetime_string(self):
|
||||
# Arrange
|
||||
value = "20191019"
|
||||
|
||||
# Act / Assert
|
||||
with self.assertRaises(NotImplementedError):
|
||||
output = utils.getDateTime(value)
|
||||
|
||||
|
||||
class InvalidValueTestCase(unittest.TestCase):
|
||||
"""dbfpy.utils._InvalidValue test cases."""
|
||||
|
||||
def test_sanity(self):
|
||||
# Arrange
|
||||
INVALID_VALUE = utils.INVALID_VALUE
|
||||
|
||||
# Act / Assert
|
||||
self.assertEqual(INVALID_VALUE, INVALID_VALUE)
|
||||
self.assertNotEqual(INVALID_VALUE, 123)
|
||||
self.assertEqual(int(INVALID_VALUE), 0)
|
||||
self.assertEqual(float(INVALID_VALUE), 0.0)
|
||||
self.assertEqual(str(INVALID_VALUE), "")
|
||||
self.assertEqual(repr(INVALID_VALUE), "<INVALID>")
|
||||
Reference in New Issue
Block a user