@@ -40,7 +40,7 @@ def test_pickling_simple_types(self):
40
40
pickler .dump (obj )
41
41
pickler .close ()
42
42
obj_ret = gl_pickle .GLUnpickler (self .filename ).load ()
43
- assert obj == obj_ret , "Failed pickling in %s (Got back %s)" % (obj , obj_ret )
43
+ self . assertEqual (obj , obj_ret )
44
44
45
45
def test_pickling_sarray_types (self ):
46
46
@@ -54,8 +54,7 @@ def test_pickling_sarray_types(self):
54
54
pickler .dump (obj )
55
55
pickler .close ()
56
56
obj_ret = gl_pickle .GLUnpickler (self .filename ).load ()
57
- assert list (obj ) == list (obj_ret ), \
58
- "Failed pickling in %s (Got back %s)" % (obj , obj_ret )
57
+ self .assertEqual (list (obj ), list (obj_ret ))
59
58
60
59
def test_pickling_sframe_types (self ):
61
60
@@ -120,7 +119,7 @@ def test_combination_gl_python_types(self):
120
119
assert_sframe_equal (obj [0 ].get_vertices (), obj_ret [0 ].get_vertices ())
121
120
assert_sframe_equal (obj [0 ].get_edges (), obj_ret [0 ].get_edges ())
122
121
assert_sframe_equal (obj [1 ], obj_ret [1 ])
123
- assert list (obj [2 ]) == list (obj_ret [2 ])
122
+ self . assertEqual ( list (obj [2 ]), list (obj_ret [2 ]) )
124
123
125
124
def test_pickle_compatibility (self ):
126
125
obj_list = [
@@ -135,8 +134,7 @@ def test_pickle_compatibility(self):
135
134
pickler .dump (obj )
136
135
file .close ()
137
136
obj_ret = gl_pickle .GLUnpickler (self .filename ).load ()
138
- assert obj == obj_ret , \
139
- "Failed pickling in %s (Got back %s)" % (obj , obj_ret )
137
+ self .assertTrue (obj , obj_ret )
140
138
141
139
def test_cloud_pickle_compatibility (self ):
142
140
obj_list = [
@@ -151,8 +149,7 @@ def test_cloud_pickle_compatibility(self):
151
149
pickler .dump (obj )
152
150
file .close ()
153
151
obj_ret = gl_pickle .GLUnpickler (self .filename ).load ()
154
- assert obj == obj_ret , \
155
- "Failed pickling in %s (Got back %s)" % (obj , obj_ret )
152
+ self .assertTrue (obj , obj_ret )
156
153
157
154
def test_relative_path (self ):
158
155
# Arrange
@@ -171,6 +168,47 @@ def test_relative_path(self):
171
168
# Clean up
172
169
shutil .rmtree (relative_path )
173
170
171
+ def test_user_path (self ):
172
+ # Arrange
173
+ sf1 = SFrame (range (10 ))
174
+ relative_path = '~/tmp/%s' % self .filename
175
+
176
+
177
+ # Act
178
+ pickler = gl_pickle .GLPickler (relative_path )
179
+ pickler .dump (sf1 )
180
+ pickler .close ()
181
+ sf2 = gl_pickle .GLUnpickler (relative_path ).load ()
182
+
183
+ # Assert
184
+ abs_path = os .path .expanduser (relative_path )
185
+ self .assertTrue (os .path .exists (abs_path ))
186
+ assert_sframe_equal (sf1 , sf2 )
187
+
188
+ # Clean up
189
+ shutil .rmtree (abs_path )
190
+
191
+ def test_env_path (self ):
192
+ # Arrange
193
+ sf1 = SFrame (range (10 ))
194
+ os .environ ["FOO" ] = '~/bar'
195
+ relative_path = '${FOO}/tmp/%s' % self .filename
196
+
197
+ # Act
198
+ pickler = gl_pickle .GLPickler (relative_path )
199
+ pickler .dump (sf1 )
200
+ pickler .close ()
201
+ sf2 = gl_pickle .GLUnpickler (relative_path ).load ()
202
+
203
+ # Assert
204
+ abs_path = os .path .expanduser (os .path .expandvars (relative_path ))
205
+ self .assertTrue (os .path .exists (abs_path ))
206
+ assert_sframe_equal (sf1 , sf2 )
207
+
208
+ # Clean up
209
+ shutil .rmtree (abs_path )
210
+ del (os .environ ["FOO" ])
211
+
174
212
@moto .mock_s3
175
213
def test_save_to_s3 (self ):
176
214
# Arrange
0 commit comments