<s> """<STR_LIT>""" <EOL> import string <EOL> import unittest <EOL> from graphy import graphy_test <EOL> from graphy . backends . google_chart_api import util <EOL> class SimpleEncoderTest ( graphy_test . GraphyTest ) : <EOL> def setUp ( self ) : <EOL> self . simple = util . SimpleDataEncoder ( ) <EOL> def testEmpty ( self ) : <EOL> self . assertEqual ( '<STR_LIT>' , self . simple . Encode ( [ ] ) ) <EOL> def testSingle ( self ) : <EOL> self . assertEqual ( '<STR_LIT:A>' , self . simple . Encode ( [ <NUM_LIT:0> ] ) ) <EOL> def testFull ( self ) : <EOL> full = string . ascii_uppercase + string . ascii_lowercase + string . digits <EOL> self . assertEqual ( full , self . simple . Encode ( range ( <NUM_LIT:0> , <NUM_LIT> ) ) ) <EOL> def testRoundingError ( self ) : <EOL> """<STR_LIT>""" <EOL> a = [ - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] <EOL> b = [ - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] <EOL> self . assertEqual ( self . simple . Encode ( a ) , self . simple . Encode ( b ) ) <EOL> def testFloats ( self ) : <EOL> ints = [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> ] <EOL> floats = [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] <EOL> self . assertEqual ( self . simple . Encode ( ints ) , self . simple . Encode ( floats ) ) <EOL> def testOutOfRangeDropped ( self ) : <EOL> """<STR_LIT>""" <EOL> nums = [ - <NUM_LIT> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] <EOL> self . assertEqual ( '<STR_LIT>' , self . simple . Encode ( nums ) ) <EOL> def testNoneDropped ( self ) : <EOL> """<STR_LIT>""" <EOL> self . assertEqual ( '<STR_LIT>' , self . simple . Encode ( [ None , <NUM_LIT:9> , <NUM_LIT:8> , None , <NUM_LIT:7> ] ) ) <EOL> class EnhandedEncoderTest ( graphy_test . GraphyTest ) : <EOL> def setUp ( self ) : <EOL> self . encoder = util . EnhancedDataEncoder ( ) <EOL> def testEmpty ( self ) : <EOL> self . assertEqual ( '<STR_LIT>' , self . encoder . Encode ( [ ] ) ) <EOL> def testFull ( self ) : <EOL> full = '<STR_LIT>' . join ( self . encoder . code ) <EOL> self . assertEqual ( full , self . encoder . Encode ( range ( <NUM_LIT:0> , <NUM_LIT> ) ) ) <EOL> def testOutOfRangeDropped ( self ) : <EOL> nums = [ - <NUM_LIT> , - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] <EOL> self . assertEqual ( '<STR_LIT>' , self . encoder . Encode ( nums ) ) <EOL> def testNoneDropped ( self ) : <EOL> self . assertEqual ( '<STR_LIT>' , self . encoder . Encode ( [ None , <NUM_LIT:9> , <NUM_LIT:8> , None , <NUM_LIT:7> ] ) ) <EOL> class ScaleTest ( graphy_test . GraphyTest ) : <EOL> """<STR_LIT>""" <EOL> def testScaleIntegerData ( self ) : <EOL> scale = util . ScaleData <EOL> self . assertEqual ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:1> , <NUM_LIT:3> ) ) <EOL> self . assertEqual ( [ - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] , scale ( [ - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] , - <NUM_LIT:1> , <NUM_LIT:1> , - <NUM_LIT:1> , <NUM_LIT:1> ) ) <EOL> self . assertEqual ( [ <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:6> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:6> ) ) <EOL> self . assertEqual ( [ - <NUM_LIT:3> , - <NUM_LIT:2> , - <NUM_LIT:1> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:1> , <NUM_LIT:3> , - <NUM_LIT:3> , - <NUM_LIT:1> ) ) <EOL> self . assertEqual ( [ <NUM_LIT:1> , <NUM_LIT> , <NUM_LIT:6> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:1> , <NUM_LIT:6> ) ) <EOL> self . assertEqual ( [ - <NUM_LIT:6> , <NUM_LIT:0> , <NUM_LIT:6> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:1> , <NUM_LIT:3> , - <NUM_LIT:6> , <NUM_LIT:6> ) ) <EOL> self . assertEqual ( [ <NUM_LIT:100> , <NUM_LIT:200> , <NUM_LIT> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:100> , <NUM_LIT> ) ) <EOL> def testScaleDataWithDifferentMinMax ( self ) : <EOL> scale = util . ScaleData <EOL> self . assertEqual ( [ <NUM_LIT> , <NUM_LIT:2> , <NUM_LIT> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:1> , <NUM_LIT:3> ) ) <EOL> self . assertEqual ( [ - <NUM_LIT:2> , <NUM_LIT:2> , <NUM_LIT:6> ] , scale ( [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:4> ] , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:4> ) ) <EOL> def testScaleFloatingPointData ( self ) : <EOL> scale = util . ScaleData <EOL> data = [ - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> ] <EOL> scaled_e = <NUM_LIT:5> + <NUM_LIT:5> * <NUM_LIT> / <NUM_LIT> <EOL> expected_data = [ <NUM_LIT:0> , <NUM_LIT:10> - scaled_e , <NUM_LIT:5> , scaled_e , <NUM_LIT:10> ] <EOL> actual_data = scale ( data , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:10> ) <EOL> for expected , actual in zip ( expected_data , actual_data ) : <EOL> self . assertAlmostEqual ( expected , actual ) <EOL> def testScaleDataOverRealRange ( self ) : <EOL> scale = util . ScaleData <EOL> self . assertEqual ( [ <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> ] , scale ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:1> , <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT> ) ) <EOL> def testScalingLotsOfData ( self ) : <EOL> data = range ( <NUM_LIT:0> , <NUM_LIT:100> ) <EOL> expected = range ( - <NUM_LIT:100> , <NUM_LIT:100> , <NUM_LIT:2> ) <EOL> actual = util . ScaleData ( data , <NUM_LIT:0> , <NUM_LIT:100> , - <NUM_LIT:100> , <NUM_LIT:100> ) <EOL> self . assertEqual ( expected , actual ) <EOL> class NameTest ( graphy_test . GraphyTest ) : <EOL> """<STR_LIT>""" <EOL> def testLongNames ( self ) : <EOL> params = dict ( size = '<STR_LIT:S>' , data = '<STR_LIT:D>' , chg = '<STR_LIT>' ) <EOL> params = util . ShortenParameterNames ( params ) <EOL> self . assertEqual ( dict ( chs = '<STR_LIT:S>' , chd = '<STR_LIT:D>' , chg = '<STR_LIT>' ) , params ) <EOL> def testCantUseBothLongAndShortName ( self ) : <EOL> """<STR_LIT>""" <EOL> params = dict ( size = '<STR_LIT>' , chs = '<STR_LIT>' ) <EOL> self . assertRaises ( KeyError , util . ShortenParameterNames , params ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> unittest . main ( ) </s>
