<s> import unittest <EOL> import arff <EOL> ARFF = '''<STR_LIT>''' <EOL> OBJ = { <EOL> u'<STR_LIT:description>' : u'<STR_LIT>' , <EOL> u'<STR_LIT>' : u'<STR_LIT>' , <EOL> u'<STR_LIT>' : [ <EOL> ( u'<STR_LIT>' , [ u'<STR_LIT>' , u'<STR_LIT>' , u'<STR_LIT>' ] ) , <EOL> ( u'<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( u'<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( u'<STR_LIT>' , [ u'<STR_LIT>' , u'<STR_LIT>' ] ) , <EOL> ( u'<STR_LIT>' , [ u'<STR_LIT:yes>' , u'<STR_LIT>' ] ) <EOL> ] , <EOL> u'<STR_LIT:data>' : [ <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT:yes>' ] , <EOL> [ u'<STR_LIT>' , <NUM_LIT> , <NUM_LIT> , u'<STR_LIT>' , u'<STR_LIT>' ] <EOL> ] <EOL> } <EOL> class TestEncodeComment ( unittest . TestCase ) : <EOL> def get_encoder ( self ) : <EOL> encoder = arff . ArffEncoder ( ) <EOL> return encoder <EOL> def test_encode ( self ) : <EOL> encoder = self . get_encoder ( ) <EOL> result = encoder . encode ( OBJ ) <EOL> expected = ARFF <EOL> self . assertEqual ( result , expected ) <EOL> def test_iter_encode ( self ) : <EOL> encoder = self . get_encoder ( ) <EOL> result = encoder . iter_encode ( OBJ ) <EOL> expected = ARFF . split ( '<STR_LIT:\n>' ) <EOL> for r , e in zip ( result , expected ) : <EOL> self . assertEqual ( r , e ) <EOL> def test_invalid_object ( self ) : <EOL> encoder = self . get_encoder ( ) <EOL> fixture = { '<STR_LIT>' : [ ( '<STR_LIT:name>' , '<STR_LIT>' ) ] , '<STR_LIT:data>' : [ [ <NUM_LIT:1> ] ] } <EOL> self . assertRaises ( <EOL> arff . BadObject , <EOL> encoder . encode , <EOL> fixture <EOL> ) <EOL> fixture = { '<STR_LIT>' : '<STR_LIT:name>' , '<STR_LIT:data>' : [ [ <NUM_LIT:1> ] ] } <EOL> self . assertRaises ( <EOL> arff . BadObject , <EOL> encoder . encode , <EOL> fixture <EOL> ) <EOL> def test_invalid_object_attribute ( self ) : <EOL> encoder = self . get_encoder ( ) <EOL> fixture = { <EOL> '<STR_LIT>' : '<STR_LIT:name>' , <EOL> '<STR_LIT>' : [ <NUM_LIT:4> ] , <EOL> '<STR_LIT:data>' : [ [ <NUM_LIT:1> ] ] <EOL> } <EOL> self . assertRaises ( <EOL> arff . BadObject , <EOL> encoder . encode , <EOL> fixture <EOL> ) <EOL> fixture = { <EOL> '<STR_LIT>' : '<STR_LIT:name>' , <EOL> '<STR_LIT>' : [ ( <NUM_LIT:2> , '<STR_LIT>' ) ] , <EOL> '<STR_LIT:data>' : [ [ <NUM_LIT:1> ] ] <EOL> } <EOL> self . assertRaises ( <EOL> arff . BadObject , <EOL> encoder . encode , <EOL> fixture <EOL> ) <EOL> fixture = { <EOL> '<STR_LIT>' : '<STR_LIT:name>' , <EOL> '<STR_LIT>' : [ ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] , <EOL> '<STR_LIT:data>' : [ [ <NUM_LIT:1> ] ] <EOL> } <EOL> self . assertRaises ( <EOL> arff . BadObject , <EOL> encoder . encode , <EOL> fixture <EOL> ) <EOL> fixture = { <EOL> '<STR_LIT>' : '<STR_LIT:name>' , <EOL> '<STR_LIT>' : [ ( '<STR_LIT>' , <NUM_LIT:3> ) ] , <EOL> '<STR_LIT:data>' : [ [ <NUM_LIT:1> ] ] <EOL> } <EOL> self . assertRaises ( <EOL> arff . BadObject , <EOL> encoder . encode , <EOL> fixture <EOL> ) <EOL> def test_attribute_invalid_attribute_type ( self ) : <EOL> encoder = self . get_encoder ( ) <EOL> fixture = { <EOL> '<STR_LIT>' : '<STR_LIT:name>' , <EOL> '<STR_LIT>' : [ ( '<STR_LIT:name>' , '<STR_LIT>' ) ] , <EOL> '<STR_LIT:data>' : [ [ <NUM_LIT:1> ] ] <EOL> } <EOL> self . assertRaises ( <EOL> arff . BadObject , <EOL> encoder . encode , <EOL> fixture <EOL> ) </s>
