55import numpy as np
66import random
77import types
8- import nose
9- from six import BytesIO
8+ from io import BytesIO
109import pickle
11- from nose . tools import assert_true , assert_false , assert_equal , assert_raises
10+ import pytest
1211from numpy .testing import assert_array_equal
1312from slicerator import Slicerator , Pipeline , pipeline , index_attr , propagate_attr
1413
1817
1918def assert_letters_equal (actual , expected ):
2019 # check if both lengths are equal
21- assert_equal ( len (actual ), len (expected ) )
20+ assert len (actual ) == len (expected )
2221 for actual_ , expected_ in zip (actual , expected ):
23- assert_equal ( actual_ , expected_ )
22+ assert actual_ == expected_
2423
2524
2625def compare_slice_to_list (actual , expected ):
@@ -134,11 +133,11 @@ def test_slice_with_generator():
134133 compare_slice_to_list (slice1 , list ('bcdefghij' ))
135134 slice2 = slice1 [(i for i in range (2 , 5 ))]
136135 assert_letters_equal (list (slice2 ), list ('def' ))
137- assert_true ( isinstance (slice2 , types .GeneratorType ) )
136+ assert isinstance (slice2 , types .GeneratorType )
138137
139138
140139def test_no_len_raises ():
141- with assert_raises (ValueError ):
140+ with pytest . raises (ValueError ):
142141 Slicerator ((i for i in range (5 )), (i for i in range (5 )))
143142
144143def test_from_func ():
@@ -174,8 +173,8 @@ def test_inplace_pipeline():
174173 n_mutable = Slicerator ([list ([i ]) for i in range (10 )])
175174 appended = append_zero_inplace (n_mutable )
176175
177- assert_equal ( appended [5 ], [5 , 0 ]) # execute the function
178- assert_equal ( n_mutable [5 ], [5 ]) # check the original
176+ assert appended [5 ] == [5 , 0 ] # execute the function
177+ assert n_mutable [5 ] == [5 ] # check the original
179178
180179
181180def test_pipeline_simple ():
@@ -231,12 +230,12 @@ def close(self):
231230
232231 a = Slicerator (MyList ('abcdefghij' ), propagate_attrs = ['attr1' , 's' ])
233232 assert_letters_equal (a , list ('abcdefghij' ))
234- assert_true ( hasattr (a , 'attr1' ) )
235- assert_false ( hasattr (a , 'attr2' ) )
236- assert_true ( hasattr (a , 's' ) )
237- assert_false ( hasattr (a , 'close' ) )
238- assert_equal ( a .attr1 , 'hello' )
239- with assert_raises (AttributeError ):
233+ assert hasattr (a , 'attr1' )
234+ assert not hasattr (a , 'attr2' )
235+ assert hasattr (a , 's' )
236+ assert not hasattr (a , 'close' )
237+ assert a .attr1 == 'hello'
238+ with pytest . raises (AttributeError ):
240239 a [:5 ].nonexistent_attr
241240
242241 compare_slice_to_list (list (a .s ), list ('ABCDEFGHIJ' ))
@@ -246,12 +245,12 @@ def close(self):
246245 capitalize = pipeline (_capitalize )
247246 b = capitalize (a )
248247 assert_letters_equal (b , list ('ABCDEFGHIJ' ))
249- assert_true ( hasattr (b , 'attr1' ) )
250- assert_false ( hasattr (b , 'attr2' ) )
251- assert_true ( hasattr (b , 's' ) )
252- assert_false ( hasattr (b , 'close' ) )
253- assert_equal ( b .attr1 , 'hello' )
254- with assert_raises (AttributeError ):
248+ assert hasattr (b , 'attr1' )
249+ assert not hasattr (b , 'attr2' )
250+ assert hasattr (b , 's' )
251+ assert not hasattr (b , 'close' )
252+ assert b .attr1 == 'hello'
253+ with pytest . raises (AttributeError ):
255254 b [:5 ].nonexistent_attr
256255
257256 compare_slice_to_list (list (b .s ), list ('ABCDEFGHIJ' ))
@@ -299,35 +298,35 @@ def attr4(self):
299298
300299 dummy = Dummy ()
301300 subclass = SubClass ()
302- assert_true ( hasattr (dummy , 'attr1' ) )
303- assert_true ( hasattr (dummy , 'attr2' ) )
304- assert_true ( hasattr (dummy , 'attr3' ) )
305- assert_false ( hasattr (dummy , 'attr4' ) )
301+ assert hasattr (dummy , 'attr1' )
302+ assert hasattr (dummy , 'attr2' )
303+ assert hasattr (dummy , 'attr3' )
304+ assert not hasattr (dummy , 'attr4' )
306305
307- assert_true ( hasattr (dummy [1 :], 'attr1' ) )
308- assert_true ( hasattr (dummy [1 :], 'attr2' ) )
309- assert_false ( hasattr (dummy [1 :], 'attr3' ) )
310- assert_false ( hasattr (dummy [1 :], 'attr4' ) )
306+ assert hasattr (dummy [1 :], 'attr1' )
307+ assert hasattr (dummy [1 :], 'attr2' )
308+ assert not hasattr (dummy [1 :], 'attr3' )
309+ assert not hasattr (dummy [1 :], 'attr4' )
311310
312- assert_true ( hasattr (dummy [1 :][1 :], 'attr1' ) )
313- assert_true ( hasattr (dummy [1 :][1 :], 'attr2' ) )
314- assert_false ( hasattr (dummy [1 :][1 :], 'attr3' ) )
315- assert_false ( hasattr (dummy [1 :][1 :], 'attr4' ) )
311+ assert hasattr (dummy [1 :][1 :], 'attr1' )
312+ assert hasattr (dummy [1 :][1 :], 'attr2' )
313+ assert not hasattr (dummy [1 :][1 :], 'attr3' )
314+ assert not hasattr (dummy [1 :][1 :], 'attr4' )
316315
317- assert_true ( hasattr (subclass , 'attr1' ) )
318- assert_true ( hasattr (subclass , 'attr2' ) )
319- assert_true ( hasattr (subclass , 'attr3' ) )
320- assert_true ( hasattr (subclass , 'attr4' ) )
316+ assert hasattr (subclass , 'attr1' )
317+ assert hasattr (subclass , 'attr2' )
318+ assert hasattr (subclass , 'attr3' )
319+ assert hasattr (subclass , 'attr4' )
321320
322- assert_false ( hasattr (subclass [1 :], 'attr1' ) )
323- assert_true ( hasattr (subclass [1 :], 'attr2' ) )
324- assert_false ( hasattr (subclass [1 :], 'attr3' ) )
325- assert_true ( hasattr (subclass [1 :], 'attr4' ) )
321+ assert not hasattr (subclass [1 :], 'attr1' )
322+ assert hasattr (subclass [1 :], 'attr2' )
323+ assert not hasattr (subclass [1 :], 'attr3' )
324+ assert hasattr (subclass [1 :], 'attr4' )
326325
327- assert_false ( hasattr (subclass [1 :][1 :], 'attr1' ) )
328- assert_true ( hasattr (subclass [1 :][1 :], 'attr2' ) )
329- assert_false ( hasattr (subclass [1 :][1 :], 'attr3' ) )
330- assert_true ( hasattr (subclass [1 :][1 :], 'attr4' ) )
326+ assert not hasattr (subclass [1 :][1 :], 'attr1' )
327+ assert hasattr (subclass [1 :][1 :], 'attr2' )
328+ assert not hasattr (subclass [1 :][1 :], 'attr3' )
329+ assert hasattr (subclass [1 :][1 :], 'attr4' )
331330
332331
333332def test_pipeline_with_args ():
@@ -552,8 +551,3 @@ def test_pipeline_propagate_attrs():
552551 pass
553552 else :
554553 raise AssertionError ("attr2 should not exist" )
555-
556-
557- if __name__ == '__main__' :
558- nose .runmodule (argv = [__file__ , '-vvs' , '-x' , '--pdb' , '--pdb-failure' ],
559- exit = False )
0 commit comments