1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""Tests for the POSIX timestamp implementation."""
import unittest
from dfdatetime import posix_time
class PosixTimeTest(unittest.TestCase):
"""Tests for the POSIX timestamp."""
def testCopyFromString(self):
"""Tests the CopyFromString function."""
posix_time_object = posix_time.PosixTime()
expected_timestamp = 1281571200
posix_time_object.CopyFromString(u'2010-08-12')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281647191
posix_time_object.CopyFromString(u'2010-08-12 21:06:31')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281647191
posix_time_object.CopyFromString(u'2010-08-12 21:06:31.546875')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281650791
posix_time_object.CopyFromString(u'2010-08-12 21:06:31.546875-01:00')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281643591
posix_time_object.CopyFromString(u'2010-08-12 21:06:31.546875+01:00')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = -11644387200
posix_time_object.CopyFromString(u'1601-01-02 00:00:00')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
def testCopyToStatTimeTuple(self):
"""Tests the CopyToStatTimeTuple function."""
posix_time_object = posix_time.PosixTime(timestamp=1281643591)
expected_stat_time_tuple = (1281643591, None)
stat_time_tuple = posix_time_object.CopyToStatTimeTuple()
self.assertEqual(stat_time_tuple, expected_stat_time_tuple)
posix_time_object = posix_time.PosixTime()
expected_stat_time_tuple = (None, None)
stat_time_tuple = posix_time_object.CopyToStatTimeTuple()
self.assertEqual(stat_time_tuple, expected_stat_time_tuple)
def testGetPlasoTimestamp(self):
"""Tests the GetPlasoTimestamp function."""
posix_time_object = posix_time.PosixTime(timestamp=1281643591)
expected_micro_posix_timestamp = 1281643591000000
micro_posix_timestamp = posix_time_object.GetPlasoTimestamp()
self.assertEqual(micro_posix_timestamp, expected_micro_posix_timestamp)
posix_time_object = posix_time.PosixTime()
micro_posix_timestamp = posix_time_object.GetPlasoTimestamp()
self.assertIsNone(micro_posix_timestamp)
class PosixTimeInMicrosecondsTest(unittest.TestCase):
"""Tests for the POSIX timestamp in microseconds."""
def testCopyFromString(self):
"""Tests the CopyFromString function."""
posix_time_object = posix_time.PosixTimeInMicroseconds()
expected_timestamp = 1281571200000000
posix_time_object.CopyFromString(u'2010-08-12')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281647191000000
posix_time_object.CopyFromString(u'2010-08-12 21:06:31')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281647191546875
posix_time_object.CopyFromString(u'2010-08-12 21:06:31.546875')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281650791546875
posix_time_object.CopyFromString(u'2010-08-12 21:06:31.546875-01:00')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = 1281643591546875
posix_time_object.CopyFromString(u'2010-08-12 21:06:31.546875+01:00')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
expected_timestamp = -11644387200000000
posix_time_object.CopyFromString(u'1601-01-02 00:00:00')
self.assertEqual(posix_time_object.timestamp, expected_timestamp)
def testCopyToStatTimeTuple(self):
"""Tests the CopyToStatTimeTuple function."""
posix_time_object = posix_time.PosixTimeInMicroseconds(
timestamp=1281643591546875)
expected_stat_time_tuple = (1281643591, 5468750)
stat_time_tuple = posix_time_object.CopyToStatTimeTuple()
self.assertEqual(stat_time_tuple, expected_stat_time_tuple)
posix_time_object = posix_time.PosixTimeInMicroseconds()
expected_stat_time_tuple = (None, None)
stat_time_tuple = posix_time_object.CopyToStatTimeTuple()
self.assertEqual(stat_time_tuple, expected_stat_time_tuple)
def testGetPlasoTimestamp(self):
"""Tests the GetPlasoTimestamp function."""
posix_time_object = posix_time.PosixTimeInMicroseconds(
timestamp=1281643591546875)
expected_micro_posix_timestamp = 1281643591546875
micro_posix_timestamp = posix_time_object.GetPlasoTimestamp()
self.assertEqual(micro_posix_timestamp, expected_micro_posix_timestamp)
posix_time_object = posix_time.PosixTimeInMicroseconds()
micro_posix_timestamp = posix_time_object.GetPlasoTimestamp()
self.assertIsNone(micro_posix_timestamp)
if __name__ == '__main__':
unittest.main()
|