<s> """<STR_LIT>""" <EOL> import sys <EOL> import os <EOL> import unittest <EOL> from test import test_support , seq_tests <EOL> class CommonTest ( seq_tests . CommonTest ) : <EOL> def test_init ( self ) : <EOL> self . assertEqual ( self . type2test ( [ ] ) , self . type2test ( ) ) <EOL> a = self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) <EOL> a . __init__ ( ) <EOL> self . assertEqual ( a , self . type2test ( [ ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) <EOL> a . __init__ ( [ <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:6> ] ) <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:6> ] ) ) <EOL> b = self . type2test ( a ) <EOL> self . assertNotEqual ( id ( a ) , id ( b ) ) <EOL> self . assertEqual ( a , b ) <EOL> def test_repr ( self ) : <EOL> l0 = [ ] <EOL> l2 = [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] <EOL> a0 = self . type2test ( l0 ) <EOL> a2 = self . type2test ( l2 ) <EOL> self . assertEqual ( str ( a0 ) , str ( l0 ) ) <EOL> self . assertEqual ( repr ( a0 ) , repr ( l0 ) ) <EOL> self . assertEqual ( ` a2 ` , ` l2 ` ) <EOL> self . assertEqual ( str ( a2 ) , "<STR_LIT>" ) <EOL> self . assertEqual ( repr ( a2 ) , "<STR_LIT>" ) <EOL> a2 . append ( a2 ) <EOL> a2 . append ( <NUM_LIT:3> ) <EOL> self . assertEqual ( str ( a2 ) , "<STR_LIT>" ) <EOL> self . assertEqual ( repr ( a2 ) , "<STR_LIT>" ) <EOL> def test_print ( self ) : <EOL> d = self . type2test ( xrange ( <NUM_LIT:200> ) ) <EOL> d . append ( d ) <EOL> d . extend ( xrange ( <NUM_LIT:200> , <NUM_LIT> ) ) <EOL> d . append ( d ) <EOL> d . append ( <NUM_LIT> ) <EOL> try : <EOL> fo = open ( test_support . TESTFN , "<STR_LIT:wb>" ) <EOL> print >> fo , d , <EOL> fo . close ( ) <EOL> fo = open ( test_support . TESTFN , "<STR_LIT:rb>" ) <EOL> self . assertEqual ( fo . read ( ) , repr ( d ) ) <EOL> finally : <EOL> fo . close ( ) <EOL> os . remove ( test_support . TESTFN ) <EOL> def test_set_subscript ( self ) : <EOL> a = self . type2test ( range ( <NUM_LIT:20> ) ) <EOL> self . assertRaises ( ValueError , a . __setitem__ , slice ( <NUM_LIT:0> , <NUM_LIT:10> , <NUM_LIT:0> ) , [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) <EOL> self . assertRaises ( TypeError , a . __setitem__ , slice ( <NUM_LIT:0> , <NUM_LIT:10> ) , <NUM_LIT:1> ) <EOL> self . assertRaises ( ValueError , a . __setitem__ , slice ( <NUM_LIT:0> , <NUM_LIT:10> , <NUM_LIT:2> ) , [ <NUM_LIT:1> , <NUM_LIT:2> ] ) <EOL> self . assertRaises ( TypeError , a . __getitem__ , '<STR_LIT:x>' , <NUM_LIT:1> ) <EOL> a [ slice ( <NUM_LIT:2> , <NUM_LIT:10> , <NUM_LIT:3> ) ] = [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:2> , <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:3> , <EOL> <NUM_LIT:9> , <NUM_LIT:10> , <NUM_LIT:11> , <NUM_LIT:12> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:15> , <EOL> <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ) ) <EOL> def test_reversed ( self ) : <EOL> a = self . type2test ( range ( <NUM_LIT:20> ) ) <EOL> r = reversed ( a ) <EOL> self . assertEqual ( list ( r ) , self . type2test ( range ( <NUM_LIT> , - <NUM_LIT:1> , - <NUM_LIT:1> ) ) ) <EOL> self . assertRaises ( StopIteration , r . next ) <EOL> self . assertEqual ( list ( reversed ( self . type2test ( ) ) ) , <EOL> self . type2test ( ) ) <EOL> def test_setitem ( self ) : <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> a [ <NUM_LIT:0> ] = <NUM_LIT:0> <EOL> a [ <NUM_LIT:1> ] = <NUM_LIT:100> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:100> ] ) ) <EOL> a [ - <NUM_LIT:1> ] = <NUM_LIT:200> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:200> ] ) ) <EOL> a [ - <NUM_LIT:2> ] = <NUM_LIT:100> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:100> , <NUM_LIT:200> ] ) ) <EOL> self . assertRaises ( IndexError , a . __setitem__ , - <NUM_LIT:3> , <NUM_LIT:200> ) <EOL> self . assertRaises ( IndexError , a . __setitem__ , <NUM_LIT:2> , <NUM_LIT:200> ) <EOL> a = self . type2test ( [ ] ) <EOL> self . assertRaises ( IndexError , a . __setitem__ , <NUM_LIT:0> , <NUM_LIT:200> ) <EOL> self . assertRaises ( IndexError , a . __setitem__ , - <NUM_LIT:1> , <NUM_LIT:200> ) <EOL> self . assertRaises ( TypeError , a . __setitem__ ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> ] ) <EOL> a [ <NUM_LIT:0> L ] = <NUM_LIT:1> <EOL> a [ <NUM_LIT:1> L ] = <NUM_LIT:2> <EOL> a [ <NUM_LIT:2> L ] = <NUM_LIT:3> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:3> , <NUM_LIT:4> ] ) ) <EOL> a [ <NUM_LIT:0> ] = <NUM_LIT:5> <EOL> a [ <NUM_LIT:1> ] = <NUM_LIT:6> <EOL> a [ <NUM_LIT:2> ] = <NUM_LIT:7> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:5> , <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:3> , <NUM_LIT:4> ] ) ) <EOL> a [ - <NUM_LIT:2> L ] = <NUM_LIT> <EOL> a [ - <NUM_LIT:1> L ] = <NUM_LIT> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:5> , <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT> , <NUM_LIT> ] ) ) <EOL> a [ - <NUM_LIT:2> ] = <NUM_LIT:8> <EOL> a [ - <NUM_LIT:1> ] = <NUM_LIT:9> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:5> , <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:8> , <NUM_LIT:9> ] ) ) <EOL> def test_delitem ( self ) : <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ <NUM_LIT:1> ] <EOL> self . assertEqual ( a , [ <NUM_LIT:0> ] ) <EOL> del a [ <NUM_LIT:0> ] <EOL> self . assertEqual ( a , [ ] ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ - <NUM_LIT:2> ] <EOL> self . assertEqual ( a , [ <NUM_LIT:1> ] ) <EOL> del a [ - <NUM_LIT:1> ] <EOL> self . assertEqual ( a , [ ] ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> self . assertRaises ( IndexError , a . __delitem__ , - <NUM_LIT:3> ) <EOL> self . assertRaises ( IndexError , a . __delitem__ , <NUM_LIT:2> ) <EOL> a = self . type2test ( [ ] ) <EOL> self . assertRaises ( IndexError , a . __delitem__ , <NUM_LIT:0> ) <EOL> self . assertRaises ( TypeError , a . __delitem__ ) <EOL> def test_setslice ( self ) : <EOL> l = [ <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> a = self . type2test ( l ) <EOL> for i in range ( - <NUM_LIT:3> , <NUM_LIT:4> ) : <EOL> a [ : i ] = l [ : i ] <EOL> self . assertEqual ( a , l ) <EOL> a2 = a [ : ] <EOL> a2 [ : i ] = a [ : i ] <EOL> self . assertEqual ( a2 , a ) <EOL> a [ i : ] = l [ i : ] <EOL> self . assertEqual ( a , l ) <EOL> a2 = a [ : ] <EOL> a2 [ i : ] = a [ i : ] <EOL> self . assertEqual ( a2 , a ) <EOL> for j in range ( - <NUM_LIT:3> , <NUM_LIT:4> ) : <EOL> a [ i : j ] = l [ i : j ] <EOL> self . assertEqual ( a , l ) <EOL> a2 = a [ : ] <EOL> a2 [ i : j ] = a [ i : j ] <EOL> self . assertEqual ( a2 , a ) <EOL> aa2 = a2 [ : ] <EOL> aa2 [ : <NUM_LIT:0> ] = [ - <NUM_LIT:2> , - <NUM_LIT:1> ] <EOL> self . assertEqual ( aa2 , [ - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> aa2 [ <NUM_LIT:0> : ] = [ ] <EOL> self . assertEqual ( aa2 , [ ] ) <EOL> a = self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ) <EOL> a [ : - <NUM_LIT:1> ] = a <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:5> ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ) <EOL> a [ <NUM_LIT:1> : ] = a <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ) <EOL> a [ <NUM_LIT:1> : - <NUM_LIT:1> ] = a <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:5> ] ) ) <EOL> a = self . type2test ( [ ] ) <EOL> a [ : ] = tuple ( range ( <NUM_LIT:10> ) ) <EOL> self . assertEqual ( a , self . type2test ( range ( <NUM_LIT:10> ) ) ) <EOL> self . assertRaises ( TypeError , a . __setslice__ , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:5> ) <EOL> self . assertRaises ( TypeError , a . __setslice__ ) <EOL> def test_delslice ( self ) : <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ <NUM_LIT:1> : <NUM_LIT:2> ] <EOL> del a [ <NUM_LIT:0> : <NUM_LIT:1> ] <EOL> self . assertEqual ( a , self . type2test ( [ ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ <NUM_LIT:1> L : <NUM_LIT:2> L ] <EOL> del a [ <NUM_LIT:0> L : <NUM_LIT:1> L ] <EOL> self . assertEqual ( a , self . type2test ( [ ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ - <NUM_LIT:2> : - <NUM_LIT:1> ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ - <NUM_LIT:2> L : - <NUM_LIT:1> L ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ <NUM_LIT:1> : ] <EOL> del a [ : <NUM_LIT:1> ] <EOL> self . assertEqual ( a , self . type2test ( [ ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ <NUM_LIT:1> L : ] <EOL> del a [ : <NUM_LIT:1> L ] <EOL> self . assertEqual ( a , self . type2test ( [ ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ - <NUM_LIT:1> : ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ - <NUM_LIT:1> L : ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> ] ) ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> del a [ : ] <EOL> self . assertEqual ( a , self . type2test ( [ ] ) ) <EOL> def test_append ( self ) : <EOL> a = self . type2test ( [ ] ) <EOL> a . append ( <NUM_LIT:0> ) <EOL> a . append ( <NUM_LIT:1> ) <EOL> a . append ( <NUM_LIT:2> ) <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) ) <EOL> self . assertRaises ( TypeError , a . append ) <EOL> def test_extend ( self ) : <EOL> a1 = self . type2test ( [ <NUM_LIT:0> ] ) <EOL> a2 = self . type2test ( ( <NUM_LIT:0> , <NUM_LIT:1> ) ) <EOL> a = a1 [ : ] <EOL> a . extend ( a2 ) <EOL> self . assertEqual ( a , a1 + a2 ) <EOL> a . extend ( self . type2test ( [ ] ) ) <EOL> self . assertEqual ( a , a1 + a2 ) <EOL> a . extend ( a ) <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] ) ) <EOL> a = self . type2test ( "<STR_LIT>" ) <EOL> a . extend ( "<STR_LIT>" ) <EOL> self . assertEqual ( a , list ( "<STR_LIT>" ) ) <EOL> self . assertRaises ( TypeError , a . extend , None ) <EOL> self . assertRaises ( TypeError , a . extend ) <EOL> def test_insert ( self ) : <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) <EOL> a . insert ( <NUM_LIT:0> , - <NUM_LIT:2> ) <EOL> a . insert ( <NUM_LIT:1> , - <NUM_LIT:1> ) <EOL> a . insert ( <NUM_LIT:2> , <NUM_LIT:0> ) <EOL> self . assertEqual ( a , [ - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) <EOL> b = a [ : ] <EOL> b . insert ( - <NUM_LIT:2> , "<STR_LIT:foo>" ) <EOL> b . insert ( - <NUM_LIT:200> , "<STR_LIT:left>" ) <EOL> b . insert ( <NUM_LIT:200> , "<STR_LIT:right>" ) <EOL> self . assertEqual ( b , self . type2test ( [ "<STR_LIT:left>" , - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , "<STR_LIT:foo>" , <NUM_LIT:1> , <NUM_LIT:2> , "<STR_LIT:right>" ] ) ) <EOL> self . assertRaises ( TypeError , a . insert ) <EOL> def test_pop ( self ) : <EOL> a = self . type2test ( [ - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> a . pop ( ) <EOL> self . assertEqual ( a , [ - <NUM_LIT:1> , <NUM_LIT:0> ] ) <EOL> a . pop ( <NUM_LIT:0> ) <EOL> self . assertEqual ( a , [ <NUM_LIT:0> ] ) <EOL> self . assertRaises ( IndexError , a . pop , <NUM_LIT:5> ) <EOL> a . pop ( <NUM_LIT:0> ) <EOL> self . assertEqual ( a , [ ] ) <EOL> self . assertRaises ( IndexError , a . pop ) <EOL> self . assertRaises ( TypeError , a . pop , <NUM_LIT> , <NUM_LIT> ) <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:10> , <NUM_LIT:20> , <NUM_LIT:30> , <NUM_LIT> ] ) <EOL> def test_remove ( self ) : <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> a . remove ( <NUM_LIT:1> ) <EOL> self . assertEqual ( a , [ <NUM_LIT:0> , <NUM_LIT:0> ] ) <EOL> a . remove ( <NUM_LIT:0> ) <EOL> self . assertEqual ( a , [ <NUM_LIT:0> ] ) <EOL> a . remove ( <NUM_LIT:0> ) <EOL> self . assertEqual ( a , [ ] ) <EOL> self . assertRaises ( ValueError , a . remove , <NUM_LIT:0> ) <EOL> self . assertRaises ( TypeError , a . remove ) <EOL> class BadExc ( Exception ) : <EOL> pass <EOL> class BadCmp : <EOL> def __eq__ ( self , other ) : <EOL> if other == <NUM_LIT:2> : <EOL> raise BadExc ( ) <EOL> return False <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) <EOL> self . assertRaises ( BadExc , a . remove , BadCmp ( ) ) <EOL> class BadCmp2 : <EOL> def __eq__ ( self , other ) : <EOL> raise BadExc ( ) <EOL> d = self . type2test ( '<STR_LIT>' ) <EOL> d . remove ( '<STR_LIT:c>' ) <EOL> self . assertEqual ( d , self . type2test ( '<STR_LIT>' ) ) <EOL> d . remove ( '<STR_LIT:c>' ) <EOL> self . assertEqual ( d , self . type2test ( '<STR_LIT>' ) ) <EOL> self . assertRaises ( ValueError , d . remove , '<STR_LIT:c>' ) <EOL> self . assertEqual ( d , self . type2test ( '<STR_LIT>' ) ) <EOL> d = self . type2test ( [ '<STR_LIT:a>' , '<STR_LIT:b>' , BadCmp2 ( ) , '<STR_LIT:c>' ] ) <EOL> e = self . type2test ( d ) <EOL> self . assertRaises ( BadExc , d . remove , '<STR_LIT:c>' ) <EOL> for x , y in zip ( d , e ) : <EOL> self . assert_ ( x is y ) <EOL> def test_count ( self ) : <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) * <NUM_LIT:3> <EOL> self . assertEqual ( a . count ( <NUM_LIT:0> ) , <NUM_LIT:3> ) <EOL> self . assertEqual ( a . count ( <NUM_LIT:1> ) , <NUM_LIT:3> ) <EOL> self . assertEqual ( a . count ( <NUM_LIT:3> ) , <NUM_LIT:0> ) <EOL> self . assertRaises ( TypeError , a . count ) <EOL> class BadExc ( Exception ) : <EOL> pass <EOL> class BadCmp : <EOL> def __eq__ ( self , other ) : <EOL> if other == <NUM_LIT:2> : <EOL> raise BadExc ( ) <EOL> return False <EOL> self . assertRaises ( BadExc , a . count , BadCmp ( ) ) <EOL> def test_index ( self ) : <EOL> u = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> self . assertEqual ( u . index ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( u . index ( <NUM_LIT:1> ) , <NUM_LIT:1> ) <EOL> self . assertRaises ( ValueError , u . index , <NUM_LIT:2> ) <EOL> u = self . type2test ( [ - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) <EOL> self . assertEqual ( u . count ( <NUM_LIT:0> ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( u . index ( <NUM_LIT:0> ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( u . index ( <NUM_LIT:0> , <NUM_LIT:2> ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( u . index ( - <NUM_LIT:2> , - <NUM_LIT:10> ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( u . index ( <NUM_LIT:0> , <NUM_LIT:3> ) , <NUM_LIT:3> ) <EOL> self . assertEqual ( u . index ( <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:4> ) , <NUM_LIT:3> ) <EOL> self . assertRaises ( ValueError , u . index , <NUM_LIT:2> , <NUM_LIT:0> , - <NUM_LIT:10> ) <EOL> self . assertRaises ( TypeError , u . index ) <EOL> class BadExc ( Exception ) : <EOL> pass <EOL> class BadCmp : <EOL> def __eq__ ( self , other ) : <EOL> if other == <NUM_LIT:2> : <EOL> raise BadExc ( ) <EOL> return False <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) <EOL> self . assertRaises ( BadExc , a . index , BadCmp ( ) ) <EOL> a = self . type2test ( [ - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> , <NUM_LIT:2> ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> , - <NUM_LIT:4> ) , <NUM_LIT:2> ) <EOL> self . assertEqual ( a . index ( - <NUM_LIT:2> , - <NUM_LIT:10> ) , <NUM_LIT:0> ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> , <NUM_LIT:3> ) , <NUM_LIT:3> ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> , - <NUM_LIT:3> ) , <NUM_LIT:3> ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:4> ) , <NUM_LIT:3> ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> , - <NUM_LIT:3> , - <NUM_LIT:2> ) , <NUM_LIT:3> ) <EOL> self . assertEqual ( a . index ( <NUM_LIT:0> , - <NUM_LIT:4> * sys . maxint , <NUM_LIT:4> * sys . maxint ) , <NUM_LIT:2> ) <EOL> self . assertRaises ( ValueError , a . index , <NUM_LIT:0> , <NUM_LIT:4> * sys . maxint , - <NUM_LIT:4> * sys . maxint ) <EOL> self . assertRaises ( ValueError , a . index , <NUM_LIT:2> , <NUM_LIT:0> , - <NUM_LIT:10> ) <EOL> a . remove ( <NUM_LIT:0> ) <EOL> self . assertRaises ( ValueError , a . index , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:4> ) <EOL> self . assertEqual ( a , self . type2test ( [ - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) ) <EOL> class EvilCmp : <EOL> def __init__ ( self , victim ) : <EOL> self . victim = victim <EOL> def __eq__ ( self , other ) : <EOL> del self . victim [ : ] <EOL> return False <EOL> a = self . type2test ( ) <EOL> a [ : ] = [ EvilCmp ( a ) for _ in xrange ( <NUM_LIT:100> ) ] <EOL> self . assertRaises ( ValueError , a . index , None ) <EOL> def test_reverse ( self ) : <EOL> u = self . type2test ( [ - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) <EOL> u2 = u [ : ] <EOL> u . reverse ( ) <EOL> self . assertEqual ( u , [ <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:1> , - <NUM_LIT:2> ] ) <EOL> u . reverse ( ) <EOL> self . assertEqual ( u , u2 ) <EOL> self . assertRaises ( TypeError , u . reverse , <NUM_LIT> ) <EOL> def test_sort ( self ) : <EOL> u = self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:0> ] ) <EOL> u . sort ( ) <EOL> self . assertEqual ( u , [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> u = self . type2test ( [ <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:1> , - <NUM_LIT:2> ] ) <EOL> u . sort ( ) <EOL> self . assertEqual ( u , self . type2test ( [ - <NUM_LIT:2> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) ) <EOL> self . assertRaises ( TypeError , u . sort , <NUM_LIT> , <NUM_LIT> ) <EOL> def revcmp ( a , b ) : <EOL> return cmp ( b , a ) <EOL> u . sort ( revcmp ) <EOL> self . assertEqual ( u , self . type2test ( [ <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:1> , - <NUM_LIT:2> ] ) ) <EOL> def myComparison ( x , y ) : <EOL> return cmp ( x % <NUM_LIT:3> , y % <NUM_LIT:7> ) <EOL> z = self . type2test ( range ( <NUM_LIT:12> ) ) <EOL> z . sort ( myComparison ) <EOL> self . assertRaises ( TypeError , z . sort , <NUM_LIT:2> ) <EOL> def selfmodifyingComparison ( x , y ) : <EOL> z . append ( <NUM_LIT:1> ) <EOL> return cmp ( x , y ) <EOL> self . assertRaises ( ValueError , z . sort , selfmodifyingComparison ) <EOL> self . assertRaises ( TypeError , z . sort , lambda x , y : '<STR_LIT:s>' ) <EOL> self . assertRaises ( TypeError , z . sort , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> def test_slice ( self ) : <EOL> u = self . type2test ( "<STR_LIT>" ) <EOL> u [ : <NUM_LIT:2> ] = "<STR_LIT:h>" <EOL> self . assertEqual ( u , list ( "<STR_LIT>" ) ) <EOL> def test_iadd ( self ) : <EOL> super ( CommonTest , self ) . test_iadd ( ) <EOL> u = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> u2 = u <EOL> u += [ <NUM_LIT:2> , <NUM_LIT:3> ] <EOL> self . assert_ ( u is u2 ) <EOL> u = self . type2test ( "<STR_LIT>" ) <EOL> u += "<STR_LIT>" <EOL> self . assertEqual ( u , self . type2test ( "<STR_LIT>" ) ) <EOL> if not test_support . is_jython : <EOL> self . assertRaises ( TypeError , u . __iadd__ , None ) <EOL> else : <EOL> import operator <EOL> self . assertRaises ( TypeError , operator . __iadd__ , u , None ) <EOL> def test_imul ( self ) : <EOL> u = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> ] ) <EOL> u *= <NUM_LIT:3> <EOL> self . assertEqual ( u , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] ) ) <EOL> u *= <NUM_LIT:0> <EOL> self . assertEqual ( u , self . type2test ( [ ] ) ) <EOL> s = self . type2test ( [ ] ) <EOL> oldid = id ( s ) <EOL> s *= <NUM_LIT:10> <EOL> self . assertEqual ( id ( s ) , oldid ) <EOL> def test_extendedslicing ( self ) : <EOL> a = self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> ] ) <EOL> del a [ : : <NUM_LIT:2> ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:3> ] ) ) <EOL> a = self . type2test ( range ( <NUM_LIT:5> ) ) <EOL> del a [ <NUM_LIT:1> : : <NUM_LIT:2> ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:4> ] ) ) <EOL> a = self . type2test ( range ( <NUM_LIT:5> ) ) <EOL> del a [ <NUM_LIT:1> : : - <NUM_LIT:2> ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> ] ) ) <EOL> a = self . type2test ( range ( <NUM_LIT:10> ) ) <EOL> del a [ : : <NUM_LIT:1000> ] <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:8> , <NUM_LIT:9> ] ) ) <EOL> a = self . type2test ( range ( <NUM_LIT:10> ) ) <EOL> a [ : : <NUM_LIT:2> ] = [ - <NUM_LIT:1> ] * <NUM_LIT:5> <EOL> self . assertEqual ( a , self . type2test ( [ - <NUM_LIT:1> , <NUM_LIT:1> , - <NUM_LIT:1> , <NUM_LIT:3> , - <NUM_LIT:1> , <NUM_LIT:5> , - <NUM_LIT:1> , <NUM_LIT:7> , - <NUM_LIT:1> , <NUM_LIT:9> ] ) ) <EOL> a = self . type2test ( range ( <NUM_LIT:10> ) ) <EOL> a [ : : - <NUM_LIT:4> ] = [ <NUM_LIT:10> ] * <NUM_LIT:3> <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:10> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:10> , <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:8> , <NUM_LIT:10> ] ) ) <EOL> a = self . type2test ( range ( <NUM_LIT:4> ) ) <EOL> a [ : : - <NUM_LIT:1> ] = a <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:3> , <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> ] ) ) <EOL> a = self . type2test ( range ( <NUM_LIT:10> ) ) <EOL> b = a [ : ] <EOL> c = a [ : ] <EOL> a [ <NUM_LIT:2> : <NUM_LIT:3> ] = self . type2test ( [ "<STR_LIT>" , "<STR_LIT>" ] ) <EOL> b [ slice ( <NUM_LIT:2> , <NUM_LIT:3> ) ] = self . type2test ( [ "<STR_LIT>" , "<STR_LIT>" ] ) <EOL> c [ <NUM_LIT:2> : <NUM_LIT:3> : ] = self . type2test ( [ "<STR_LIT>" , "<STR_LIT>" ] ) <EOL> self . assertEqual ( a , b ) <EOL> self . assertEqual ( a , c ) <EOL> a = self . type2test ( range ( <NUM_LIT:10> ) ) <EOL> a [ : : <NUM_LIT:2> ] = tuple ( range ( <NUM_LIT:5> ) ) <EOL> self . assertEqual ( a , self . type2test ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:2> , <NUM_LIT:5> , <NUM_LIT:3> , <NUM_LIT:7> , <NUM_LIT:4> , <NUM_LIT:9> ] ) ) <EOL> def _test_constructor_exception_handling ( self ) : <EOL> class F ( object ) : <EOL> def __iter__ ( self ) : <EOL> yield <NUM_LIT> <EOL> def __len__ ( self ) : <EOL> raise KeyboardInterrupt <EOL> self . assertRaises ( KeyboardInterrupt , list , F ( ) ) </s>
