def test_construct_auto_str_psv(self): path = '{}/user/xpatterns/files/test-frame.psv'.format(hdfs_prefix) res = XFrame(path) self.assertEqualLen(3, res) self.assertListEqual(['id', 'val'], res.column_names()) self.assertListEqual([int, str], res.column_types()) self.assertDictEqual({'id': 1, 'val': 'a'}, res[0]) self.assertDictEqual({'id': 2, 'val': 'b'}, res[1]) self.assertDictEqual({'id': 3, 'val': 'c'}, res[2])
def test_construct_str_xframe(self): # construct and XFrame given a saved xframe path = '{}/user/xpatterns/files/test-frame'.format(hdfs_prefix) res = XFrame(path, format='xframe') res = res.sort('id') self.assertEqualLen(3, res) self.assertListEqual(['id', 'val'], res.column_names()) self.assertListEqual([int, str], res.column_types()) self.assertDictEqual({'id': 1, 'val': 'a'}, res[0]) self.assertDictEqual({'id': 2, 'val': 'b'}, res[1]) self.assertDictEqual({'id': 3, 'val': 'c'}, res[2])
def test_construct_str_csv(self): # construct and XFrame given a text file # interpret as csv path = '{}/user/xpatterns/files/test-frame.txt'.format(hdfs_prefix) res = XFrame(path, format='csv') self.assertEqualLen(3, res) self.assertListEqual(['id', 'val'], res.column_names()) self.assertListEqual([int, str], res.column_types()) self.assertDictEqual({'id': 1, 'val': 'a'}, res[0]) self.assertDictEqual({'id': 2, 'val': 'b'}, res[1]) self.assertDictEqual({'id': 3, 'val': 'c'}, res[2])
def test_construct_auto_str_xframe(self): # construct an XFrame given a file with unrecognized file extension path = '{}/user/xpatterns/files/test-frame'.format(hdfs_prefix) res = XFrame(path) res = res.sort('id') self.assertEqualLen(3, res) self.assertListEqual(['id', 'val'], res.column_names()) self.assertListEqual([int, str], res.column_types()) self.assertDictEqual({'id': 1, 'val': 'a'}, res[0]) self.assertDictEqual({'id': 2, 'val': 'b'}, res[1]) self.assertDictEqual({'id': 3, 'val': 'c'}, res[2])
def test_construct_auto_dataframe(self): path = '{}/user/xpatterns/files/test-frame-auto.csv'.format(hdfs_prefix) res = XFrame(path) self.assertEqualLen(3, res) self.assertListEqual(['val_int', 'val_int_signed', 'val_float', 'val_float_signed', 'val_str', 'val_list', 'val_dict'], res.column_names()) self.assertListEqual([int, int, float, float, str, list, dict], res.column_types()) self.assertDictEqual({'val_int': 1, 'val_int_signed': -1, 'val_float': 1.0, 'val_float_signed': -1.0, 'val_str': 'a', 'val_list': ['a'], 'val_dict': {1: 'a'}}, res[0]) self.assertDictEqual({'val_int': 2, 'val_int_signed': -2, 'val_float': 2.0, 'val_float_signed': -2.0, 'val_str': 'b', 'val_list': ['b'], 'val_dict': {2: 'b'}}, res[1]) self.assertDictEqual({'val_int': 3, 'val_int_signed': -3, 'val_float': 3.0, 'val_float_signed': -3.0, 'val_str': 'c', 'val_list': ['c'], 'val_dict': {3: 'c'}}, res[2])
def test_read_parquet_str(self): t = XFrame({'id': [1, 2, 3], 'val': ['a', 'b', 'c']}) path = '{}/tmp/frame-parquet'.format(hdfs_prefix) t.save(path, format='parquet') res = XFrame('{}/tmp/frame-parquet.parquet'.format(hdfs_prefix)) # results may not come back in the same order res = res.sort('id') self.assertEqualLen(3, res) self.assertListEqual(['id', 'val'], res.column_names()) self.assertListEqual([int, str], res.column_types()) self.assertDictEqual({'id': 1, 'val': 'a'}, res[0]) self.assertDictEqual({'id': 2, 'val': 'b'}, res[1]) self.assertDictEqual({'id': 3, 'val': 'c'}, res[2]) fileio.delete(path)