<s> from django . test import TestCase <EOL> from autofixture . values import Values <EOL> class ValuesTests ( TestCase ) : <EOL> def test_init ( self ) : <EOL> values = Values ( { '<STR_LIT:a>' : <NUM_LIT:1> , '<STR_LIT:c>' : <NUM_LIT:4> } , a = <NUM_LIT:2> , b = <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> values = Values ( values ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> class Data : <EOL> a = <NUM_LIT:1> <EOL> b = <NUM_LIT:3> <EOL> _c = <NUM_LIT:4> <EOL> values = Values ( Data , a = <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT>' ] , <NUM_LIT:4> ) <EOL> values = Values ( Data ( ) , a = <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT>' ] , <NUM_LIT:4> ) <EOL> values = Values ( Values ( a = <NUM_LIT:1> , c = <NUM_LIT:4> ) , a = <NUM_LIT:2> , b = <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> def test_add_operation ( self ) : <EOL> values = Values ( a = <NUM_LIT:1> , b = <NUM_LIT:3> ) <EOL> values = values + { '<STR_LIT:a>' : <NUM_LIT:2> , '<STR_LIT:c>' : <NUM_LIT:4> } <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> def test_radd_operation ( self ) : <EOL> values = Values ( a = <NUM_LIT:1> , b = <NUM_LIT:3> ) <EOL> values = { '<STR_LIT:a>' : <NUM_LIT:2> , '<STR_LIT:c>' : <NUM_LIT:4> } + values <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:1> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> def test_iadd_operation ( self ) : <EOL> values = Values ( a = <NUM_LIT:1> , b = <NUM_LIT:3> ) <EOL> values += { '<STR_LIT:a>' : <NUM_LIT:2> , '<STR_LIT:c>' : <NUM_LIT:4> } <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> def test_subclassing ( self ) : <EOL> class AB ( Values ) : <EOL> a = <NUM_LIT:1> <EOL> b = <NUM_LIT:2> <EOL> values = AB ( ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:1> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:2> ) <EOL> self . assertRaises ( KeyError , values . __getitem__ , '<STR_LIT:c>' ) <EOL> self . assertRaises ( AttributeError , getattr , values , '<STR_LIT:a>' ) <EOL> self . assertRaises ( AttributeError , getattr , values , '<STR_LIT:b>' ) <EOL> self . assertRaises ( AttributeError , getattr , values , '<STR_LIT:c>' ) <EOL> values = AB ( b = <NUM_LIT:3> , c = <NUM_LIT:4> ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:1> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> values += { '<STR_LIT:a>' : <NUM_LIT:2> } <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> def test_sub_subclassing ( self ) : <EOL> class AB ( Values ) : <EOL> a = <NUM_LIT:1> <EOL> b = <NUM_LIT:2> <EOL> class ABCD ( AB ) : <EOL> c = <NUM_LIT:3> <EOL> d = <NUM_LIT:4> <EOL> values = ABCD ( a = <NUM_LIT:2> , c = <NUM_LIT:4> ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:2> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) <EOL> self . assertEqual ( values [ '<STR_LIT:d>' ] , <NUM_LIT:4> ) <EOL> def test_multiple_inheritance ( self ) : <EOL> class A ( Values ) : <EOL> a = <NUM_LIT:1> <EOL> class AB ( Values ) : <EOL> a = <NUM_LIT:2> <EOL> b = <NUM_LIT:3> <EOL> class ABC ( A , AB ) : <EOL> c = <NUM_LIT:4> <EOL> values = ABC ( ) <EOL> self . assertEqual ( values [ '<STR_LIT:a>' ] , <NUM_LIT:1> ) <EOL> self . assertEqual ( values [ '<STR_LIT:b>' ] , <NUM_LIT:3> ) <EOL> self . assertEqual ( values [ '<STR_LIT:c>' ] , <NUM_LIT:4> ) </s>
