@@ -40,7 +40,7 @@ def test_pickling_simple_types(self):
4040 pickler .dump (obj )
4141 pickler .close ()
4242 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 )
4444
4545 def test_pickling_sarray_types (self ):
4646
@@ -54,8 +54,7 @@ def test_pickling_sarray_types(self):
5454 pickler .dump (obj )
5555 pickler .close ()
5656 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 ))
5958
6059 def test_pickling_sframe_types (self ):
6160
@@ -120,7 +119,7 @@ def test_combination_gl_python_types(self):
120119 assert_sframe_equal (obj [0 ].get_vertices (), obj_ret [0 ].get_vertices ())
121120 assert_sframe_equal (obj [0 ].get_edges (), obj_ret [0 ].get_edges ())
122121 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 ]) )
124123
125124 def test_pickle_compatibility (self ):
126125 obj_list = [
@@ -135,8 +134,7 @@ def test_pickle_compatibility(self):
135134 pickler .dump (obj )
136135 file .close ()
137136 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 )
140138
141139 def test_cloud_pickle_compatibility (self ):
142140 obj_list = [
@@ -151,8 +149,7 @@ def test_cloud_pickle_compatibility(self):
151149 pickler .dump (obj )
152150 file .close ()
153151 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 )
156153
157154 def test_relative_path (self ):
158155 # Arrange
@@ -171,6 +168,47 @@ def test_relative_path(self):
171168 # Clean up
172169 shutil .rmtree (relative_path )
173170
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+
174212 @moto .mock_s3
175213 def test_save_to_s3 (self ):
176214 # Arrange
0 commit comments