58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
import os
|
|
import sys
|
|
import unittest
|
|
import pandas as pd
|
|
import pandas.api.types as ptypes
|
|
|
|
PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", ".."))
|
|
MODULE_ROOT = os.path.join(PROJECT_ROOT, "modules")
|
|
sys.path.append(MODULE_ROOT)
|
|
print(MODULE_ROOT)
|
|
|
|
from pandas_wrapper.pandas_to_datetime import PandasToDatetime
|
|
|
|
class Test(unittest.TestCase):
|
|
def setUp(self):
|
|
"""Set up test data"""
|
|
self.node = PandasToDatetime()
|
|
self.pd_date = pd.DataFrame({
|
|
"A": ["2015-01-23", "2013-06-30"],
|
|
"B": ["2005-02-24", "2015-09-06"],
|
|
"C": [123.45, 987.65],
|
|
})
|
|
|
|
self.pd_date_time = pd.DataFrame({
|
|
"A": ["2015-01-23 00:12:34", "2013-06-30 12:50:59"],
|
|
"B": [123.45, 987.65],
|
|
})
|
|
|
|
self.pd_time = pd.DataFrame({
|
|
"A": ["00:12:34", "12:50:59"],
|
|
"B": [123.45, 987.65],
|
|
})
|
|
|
|
def test_date(self):
|
|
"""Test"""
|
|
df2 = self.node.f(self.pd_date, column_names="A,B", date_format="%Y-%m-%d")[0]
|
|
self.assertEqual(df2.at[0, "A"], pd.Timestamp("2015-01-23"))
|
|
self.assertEqual(df2.at[0, "C"], 123.45)
|
|
|
|
def test_date_time(self):
|
|
"""Test"""
|
|
df3 = self.node.f(self.pd_date_time, column_names="A", date_format="%Y-%m-%d %H:%M:%S")[0]
|
|
self.assertTrue(ptypes.is_datetime64_any_dtype(df3["A"]))
|
|
self.assertTrue(ptypes.is_float_dtype(df3["B"]))
|
|
self.assertEqual(df3.at[0, "A"], pd.Timestamp("2015-01-23 00:12:34"))
|
|
self.assertEqual(df3.at[0, "B"], 123.45)
|
|
|
|
def test_time(self):
|
|
"""Test"""
|
|
df3 = self.node.f(self.pd_time, column_names="A", date_format="%H:%M:%S")[0]
|
|
self.assertTrue(ptypes.is_datetime64_any_dtype(df3["A"]))
|
|
self.assertEqual(df3.at[0, "A"], pd.Timestamp("1900-01-01 00:12:34"))
|
|
self.assertEqual(df3.at[0, "B"], 123.45)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|