def test_list(self): assert value_repr([123]) == { 'type': 'ArrayValue', 'value': [ { 'type': 'NumberValue', 'value': 123 } ] }
def test_tuple(self): assert value_repr((123,)) == { 'type': 'ArrayValue', 'value': [ { 'type': 'NumberValue', 'value': 123 } ] }
def test_dict(self): assert value_repr({u'foo': u'bar'}) == { 'type': 'DictionaryValue', 'value': { u'foo': { 'type': 'StringValue', 'value': u'bar' } } }
def test_dict_with_ascii_keys(self): assert value_repr({'foo': u'bar'}) == { 'type': 'DictionaryValue', 'value': { u'foo': { 'type': 'StringValue', 'value': u'bar' } } }
def test_exception(self): assert value_repr(IOError('oh noes!')) == { 'type': 'ErrorValue', 'name': 'IOError', 'message': 'oh noes!' }
def test_ascii(self): assert value_repr('foo') == { 'type': 'StringValue', 'value': u'foo' }
def test_toJSON(self): class Foo: def toJSON(self): return {'x': 123} foo = Foo() assert value_repr(foo) == {'x': 123}
def test_unicode(self): assert value_repr(u'foo') == { 'type': 'StringValue', 'value': u'foo' }
def test_dict_with_int_keys(self): assert value_repr({123: u'bar'}) == { 'type': 'ReprValue', 'repr': "{123: u'bar'}" }
def test_long(self): assert value_repr(2**65) == { 'type': 'NumberValue', 'value': 36893488147419103232L }
def test_int(self): assert value_repr(123) == { 'type': 'NumberValue', 'value': 123 }
def test_False(self): assert value_repr(False) == { 'type': 'BooleanValue', 'value': False }
def test_True(self): assert value_repr(True) == { 'type': 'BooleanValue', 'value': True }
def test_other(self): assert value_repr(list) == { 'type': 'ReprValue', 'repr': "<type 'list'>" }
def test_None(self): assert value_repr(None) == { 'type': 'NullValue' }
def test_float(self): assert value_repr(1.23) == { 'type': 'NumberValue', 'value': 1.23 }
def test_dict_with_non_ascii_str_keys(self): assert value_repr({u'\u2014'.encode('utf8'): u'bar'}) == { 'type': 'ReprValue', 'repr': "{'\\xe2\\x80\\x94': u'bar'}" }