Exemplo n.º 1
0
 def test_encodeListConversion(self):
     input = [ 1, 2, 3, 4 ]
     output = ujson.encode(input)
     self.assertEqual(input, json.loads(output))
     self.assertEqual(input, ujson.decode(output))
     assert_array_equal(np.array(input), ujson.decode(output, numpy=True))
     pass
Exemplo n.º 2
0
 def test_encodeListConversion(self):
     input = [ 1, 2, 3, 4 ]
     output = ujson.encode(input)
     self.assertEquals(input, json.loads(output))
     self.assertEquals(input, ujson.decode(output))
     assert_array_equal(np.array(input), ujson.decode(output, numpy=True))
     pass
Exemplo n.º 3
0
 def test_encodeDictConversion(self):
     input = { "k1": 1, "k2":  2, "k3": 3, "k4": 4 }
     output = ujson.encode(input)
     self.assertEquals(input, json.loads(output))
     self.assertEquals(input, ujson.decode(output))
     self.assertEquals(input, ujson.decode(output))
     pass
Exemplo n.º 4
0
    def testDataFrame(self):
        df = DataFrame([[1,2,3], [4,5,6]], index=['a', 'b'], columns=['x', 'y', 'z'])

        # column indexed
        outp = DataFrame(ujson.decode(ujson.encode(df)))
        self.assertTrue((df == outp).values.all())
        assert_array_equal(df.columns, outp.columns)
        assert_array_equal(df.index, outp.index)

        dec = _clean_dict(ujson.decode(ujson.encode(df, orient="split")))
        outp = DataFrame(**dec)
        self.assertTrue((df == outp).values.all())
        assert_array_equal(df.columns, outp.columns)
        assert_array_equal(df.index, outp.index)

        outp = DataFrame(ujson.decode(ujson.encode(df, orient="records")))
        outp.index = df.index
        self.assertTrue((df == outp).values.all())
        assert_array_equal(df.columns, outp.columns)

        outp = DataFrame(ujson.decode(ujson.encode(df, orient="values")))
        outp.index = df.index
        self.assertTrue((df.values == outp.values).all())

        outp = DataFrame(ujson.decode(ujson.encode(df, orient="index")))
        self.assertTrue((df.transpose() == outp).values.all())
        assert_array_equal(df.transpose().columns, outp.columns)
        assert_array_equal(df.transpose().index, outp.index)
Exemplo n.º 5
0
 def test_encodeArrayOfDoubles(self):
     input = [ 31337.31337, 31337.31337, 31337.31337, 31337.31337] * 10
     output = ujson.encode(input)
     self.assertEquals(input, json.loads(output))
     #self.assertEquals(output, json.dumps(input))
     self.assertEquals(input, ujson.decode(output))
     assert_array_equal(np.array(input), ujson.decode(output, numpy=True))
Exemplo n.º 6
0
    def testDataFrame(self):
        df = DataFrame([[1,2,3], [4,5,6]], index=['a', 'b'], columns=['x', 'y', 'z'])

        # column indexed
        outp = DataFrame(ujson.decode(ujson.encode(df)))
        self.assertTrue((df == outp).values.all())
        assert_array_equal(df.columns, outp.columns)
        assert_array_equal(df.index, outp.index)

        dec = _clean_dict(ujson.decode(ujson.encode(df, orient="split")))
        outp = DataFrame(**dec)
        self.assertTrue((df == outp).values.all())
        assert_array_equal(df.columns, outp.columns)
        assert_array_equal(df.index, outp.index)

        outp = DataFrame(ujson.decode(ujson.encode(df, orient="records")))
        outp.index = df.index
        self.assertTrue((df == outp).values.all())
        assert_array_equal(df.columns, outp.columns)

        outp = DataFrame(ujson.decode(ujson.encode(df, orient="values")))
        outp.index = df.index
        self.assertTrue((df.values == outp.values).all())

        outp = DataFrame(ujson.decode(ujson.encode(df, orient="index")))
        self.assertTrue((df.transpose() == outp).values.all())
        assert_array_equal(df.transpose().columns, outp.columns)
        assert_array_equal(df.transpose().index, outp.index)
Exemplo n.º 7
0
 def test_encodeArrayOfDoubles(self):
     input = [ 31337.31337, 31337.31337, 31337.31337, 31337.31337] * 10
     output = ujson.encode(input)
     self.assertEqual(input, json.loads(output))
     #self.assertEquals(output, json.dumps(input))
     self.assertEqual(input, ujson.decode(output))
     assert_array_equal(np.array(input), ujson.decode(output, numpy=True))
Exemplo n.º 8
0
 def test_encodeDictConversion(self):
     input = { "k1": 1, "k2":  2, "k3": 3, "k4": 4 }
     output = ujson.encode(input)
     self.assertEqual(input, json.loads(output))
     self.assertEqual(input, ujson.decode(output))
     self.assertEqual(input, ujson.decode(output))
     pass
Exemplo n.º 9
0
 def test_decodeStringUnterminated(self):
     input = "\"TESTING"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 10
0
 def test_decodeObjectDepthTooBig(self):
     input = '{' * (1024 * 1024)
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 11
0
 def test_decodeBrokenObjectStart(self):
     input = "{"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 12
0
 def test_decodeJibberish(self):
     input = "fdsa sda v9sa fdsa"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 13
0
 def test_decodeTooBigValue(self):
     try:
         input = "9223372036854775808"
         ujson.decode(input)
     except ValueError as e:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 14
0
 def test_decodeBrokenObjectStart(self):
     input = "{"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 15
0
 def test_decodeStringUnterminated(self):
     input = "\"TESTING"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 16
0
 def test_decodeStringBadEscape(self):
     input = "\"TESTING\\\""
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 17
0
 def test_encodeArrayOfNestedArrays(self):
     input = [[[[]]]] * 20
     output = ujson.encode(input)
     self.assertEqual(input, json.loads(output))
     #self.assertEquals(output, json.dumps(input))
     self.assertEqual(input, ujson.decode(output))
     input = np.array(input)
     assert_array_equal(input, ujson.decode(output, numpy=True, dtype=input.dtype))
Exemplo n.º 18
0
 def test_decodeWithTrailingNonWhitespaces(self):
     try:
         input = "{}\n\t a"
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 19
0
 def test_decodeVeryTooSmallValue(self):
     try:
         input = "-90223372036854775809"
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 20
0
 def test_decodeNullBroken(self):
     input = "n"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 21
0
 def test_decodeObjectDepthTooBig(self):
     input = '{' * (1024 * 1024)
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 22
0
 def test_decodeJibberish(self):
     input = "fdsa sda v9sa fdsa"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 23
0
 def test_decodeArrayOnlyCommaFail(self):
     input = "[,]"
     try:
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 24
0
 def test_decodeArrayUnmatchedBracketFail(self):
     input = "[]]"
     try:
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 25
0
 def test_decodeStringBadEscape(self):
     input = "\"TESTING\\\""
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 26
0
 def test_decodeNullBroken(self):
     input = "n"
     try:
         ujson.decode(input)
         assert False, "Expected exception!"
     except(ValueError):
         return
     assert False, "Wrong exception"
Exemplo n.º 27
0
 def test_encodeArrayOfNestedArrays(self):
     input = [[[[]]]] * 20
     output = ujson.encode(input)
     self.assertEquals(input, json.loads(output))
     #self.assertEquals(output, json.dumps(input))
     self.assertEquals(input, ujson.decode(output))
     input = np.array(input)
     assert_array_equal(input, ujson.decode(output, numpy=True, dtype=input.dtype))
Exemplo n.º 28
0
 def test_decodeVeryTooSmallValue(self):
     try:
         input = "-90223372036854775809"
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 29
0
 def test_decodeWithTrailingNonWhitespaces(self):
     try:
         input = "{}\n\t a"
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 30
0
 def test_decodeArrayUnmatchedBracketFail(self):
     input = "[]]"
     try:
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 31
0
 def test_decodeTooBigValue(self):
     try:
         input = "9223372036854775808"
         ujson.decode(input)
     except ValueError as e:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 32
0
 def test_decodeArrayOnlyCommaFail(self):
     input = "[,]"
     try:
         ujson.decode(input)
     except ValueError:
         pass
     else:
         assert False, "expected ValueError"
Exemplo n.º 33
0
    def testFloatMax(self):
        num = np.float(np.finfo(np.float).max/10)
        assert_approx_equal(np.float(ujson.decode(ujson.encode(num, double_precision=15))), num, 15)

        num = np.float32(np.finfo(np.float32).max/10)
        assert_approx_equal(np.float32(ujson.decode(ujson.encode(num, double_precision=15))), num, 15)

        num = np.float64(np.finfo(np.float64).max/10)
        assert_approx_equal(np.float64(ujson.decode(ujson.encode(num, double_precision=15))), num, 15)
Exemplo n.º 34
0
    def test_encodeArrayInArray(self):
        input = [[[[]]]]
        output = ujson.encode(input)

        self.assertEqual(input, json.loads(output))
        self.assertEqual(output, json.dumps(input))
        self.assertEqual(input, ujson.decode(output))
        assert_array_equal(np.array(input), ujson.decode(output, numpy=True))
        pass
Exemplo n.º 35
0
 def test_encodeDoubleTinyExponential(self):
     num = 1e-40
     self.assertEqual(num, ujson.decode(ujson.encode(num)))
     num = 1e-100
     self.assertEqual(num, ujson.decode(ujson.encode(num)))
     num = -1e-45
     self.assertEqual(num, ujson.decode(ujson.encode(num)))
     num = -1e-145
     self.assert_(np.allclose(num, ujson.decode(ujson.encode(num))))
Exemplo n.º 36
0
    def test_decodeDictWithNoValue(self):
        input = "{{{{\"key\":}}}}"
        try:
            ujson.decode(input)
            assert False, "Expected exception!"
        except(ValueError):
            return

        assert False, "Wrong exception"
Exemplo n.º 37
0
    def testFloatMax(self):
        num = np.float(np.finfo(np.float).max/10)
        assert_approx_equal(np.float(ujson.decode(ujson.encode(num, double_precision=15))), num, 15)

        num = np.float32(np.finfo(np.float32).max/10)
        assert_approx_equal(np.float32(ujson.decode(ujson.encode(num, double_precision=15))), num, 15)

        num = np.float64(np.finfo(np.float64).max/10)
        assert_approx_equal(np.float64(ujson.decode(ujson.encode(num, double_precision=15))), num, 15)
Exemplo n.º 38
0
    def testFloat(self):
        num = np.float(256.2013)
        self.assertEqual(np.float(ujson.decode(ujson.encode(num))), num)

        num = np.float32(256.2013)
        self.assertEqual(np.float32(ujson.decode(ujson.encode(num))), num)

        num = np.float64(256.2013)
        self.assertEqual(np.float64(ujson.decode(ujson.encode(num))), num)
Exemplo n.º 39
0
 def test_encodeListLongConversion(self):
     input = [9223372036854775807, 9223372036854775807, 9223372036854775807,
              9223372036854775807, 9223372036854775807, 9223372036854775807 ]
     output = ujson.encode(input)
     self.assertEqual(input, json.loads(output))
     self.assertEqual(input, ujson.decode(output))
     assert_array_equal(np.array(input), ujson.decode(output, numpy=True,
                                                      dtype=np.int64))
     pass
Exemplo n.º 40
0
 def test_encodeDoubleTinyExponential(self):
     num = 1e-40
     self.assertEqual(num, ujson.decode(ujson.encode(num)))
     num = 1e-100
     self.assertEqual(num, ujson.decode(ujson.encode(num)))
     num = -1e-45
     self.assertEqual(num, ujson.decode(ujson.encode(num)))
     num = -1e-145
     self.assertTrue(np.allclose(num, ujson.decode(ujson.encode(num))))
Exemplo n.º 41
0
 def test_encodeListLongConversion(self):
     input = [9223372036854775807, 9223372036854775807, 9223372036854775807,
              9223372036854775807, 9223372036854775807, 9223372036854775807 ]
     output = ujson.encode(input)
     self.assertEquals(input, json.loads(output))
     self.assertEquals(input, ujson.decode(output))
     assert_array_equal(np.array(input), ujson.decode(output, numpy=True,
                                                      dtype=np.int64))
     pass
Exemplo n.º 42
0
    def test_decodeDictWithNoValue(self):
        input = "{{{{\"key\":}}}}"
        try:
            ujson.decode(input)
            assert False, "Expected exception!"
        except(ValueError):
            return

        assert False, "Wrong exception"
Exemplo n.º 43
0
    def testFloat(self):
        num = np.float(256.2013)
        self.assertEqual(np.float(ujson.decode(ujson.encode(num))), num)

        num = np.float32(256.2013)
        self.assertEqual(np.float32(ujson.decode(ujson.encode(num))), num)

        num = np.float64(256.2013)
        self.assertEqual(np.float64(ujson.decode(ujson.encode(num))), num)
Exemplo n.º 44
0
    def test_encodeArrayInArray(self):
        input = [[[[]]]]
        output = ujson.encode(input)

        self.assertEquals(input, json.loads(output))
        self.assertEquals(output, json.dumps(input))
        self.assertEquals(input, ujson.decode(output))
        assert_array_equal(np.array(input), ujson.decode(output, numpy=True))
        pass
Exemplo n.º 45
0
    def test_decodeBrokenListLeakTest(self):
        input = '[[[true'
        for x in range(1000):
            try:
                ujson.decode(input)
                assert False, "Expected exception!"
            except(ValueError):
                continue

            assert False, "Wrong exception"
Exemplo n.º 46
0
    def test_decodeBrokenDictKeyTypeLeakTest(self):
        input = '{{1337:""}}'
        for x in range(1000):
            try:
                ujson.decode(input)
                assert False, "Expected exception!"
            except ValueError as e:
                continue

            assert False, "Wrong exception"
Exemplo n.º 47
0
    def test_decodeBrokenDictKeyTypeLeakTest(self):
        input = '{{1337:""}}'
        for x in range(1000):
            try:
                ujson.decode(input)
                assert False, "Expected exception!"
            except(ValueError) as e:
                continue

            assert False, "Wrong exception"
Exemplo n.º 48
0
    def test_decodeBrokenListLeakTest(self):
        input = '[[[true'
        for x in range(1000):
            try:
                ujson.decode(input)
                assert False, "Expected exception!"
            except(ValueError):
                continue

            assert False, "Wrong exception"
Exemplo n.º 49
0
    def test_decodeBrokenDictLeakTest(self):
        input = '{{"key":"}'
        for x in xrange(1000):
            try:
                ujson.decode(input)
                assert False, "Expected exception!"
            except(ValueError):
                continue

            assert False, "Wrong exception"
Exemplo n.º 50
0
    def testIntMax(self):
        num = np.int(np.iinfo(np.int).max)
        self.assertEqual(np.int(ujson.decode(ujson.encode(num))), num)

        num = np.int8(np.iinfo(np.int8).max)
        self.assertEqual(np.int8(ujson.decode(ujson.encode(num))), num)

        num = np.int16(np.iinfo(np.int16).max)
        self.assertEqual(np.int16(ujson.decode(ujson.encode(num))), num)

        num = np.int32(np.iinfo(np.int32).max)
        self.assertEqual(np.int32(ujson.decode(ujson.encode(num))), num)

        num = np.uint8(np.iinfo(np.uint8).max)
        self.assertEqual(np.uint8(ujson.decode(ujson.encode(num))), num)

        num = np.uint16(np.iinfo(np.uint16).max)
        self.assertEqual(np.uint16(ujson.decode(ujson.encode(num))), num)

        num = np.uint32(np.iinfo(np.uint32).max)
        self.assertEqual(np.uint32(ujson.decode(ujson.encode(num))), num)

        if platform.architecture()[0] != '32bit':
            num = np.int64(np.iinfo(np.int64).max)
            self.assertEqual(np.int64(ujson.decode(ujson.encode(num))), num)

            # uint64 max will always overflow as it's encoded to signed
            num = np.uint64(np.iinfo(np.int64).max)
            self.assertEqual(np.uint64(ujson.decode(ujson.encode(num))), num)
Exemplo n.º 51
0
    def testInt(self):
        num = np.int(2562010)
        self.assertEqual(np.int(ujson.decode(ujson.encode(num))), num)

        num = np.int8(127)
        self.assertEqual(np.int8(ujson.decode(ujson.encode(num))), num)

        num = np.int16(2562010)
        self.assertEqual(np.int16(ujson.decode(ujson.encode(num))), num)

        num = np.int32(2562010)
        self.assertEqual(np.int32(ujson.decode(ujson.encode(num))), num)

        num = np.int64(2562010)
        self.assertEqual(np.int64(ujson.decode(ujson.encode(num))), num)

        num = np.uint8(255)
        self.assertEqual(np.uint8(ujson.decode(ujson.encode(num))), num)

        num = np.uint16(2562010)
        self.assertEqual(np.uint16(ujson.decode(ujson.encode(num))), num)

        num = np.uint32(2562010)
        self.assertEqual(np.uint32(ujson.decode(ujson.encode(num))), num)

        num = np.uint64(2562010)
        self.assertEqual(np.uint64(ujson.decode(ujson.encode(num))), num)
Exemplo n.º 52
0
    def testIntMax(self):
        num = np.int(np.iinfo(np.int).max)
        self.assertEqual(np.int(ujson.decode(ujson.encode(num))), num)

        num = np.int8(np.iinfo(np.int8).max)
        self.assertEqual(np.int8(ujson.decode(ujson.encode(num))), num)

        num = np.int16(np.iinfo(np.int16).max)
        self.assertEqual(np.int16(ujson.decode(ujson.encode(num))), num)

        num = np.int32(np.iinfo(np.int32).max)
        self.assertEqual(np.int32(ujson.decode(ujson.encode(num))), num)

        num = np.uint8(np.iinfo(np.uint8).max)
        self.assertEqual(np.uint8(ujson.decode(ujson.encode(num))), num)

        num = np.uint16(np.iinfo(np.uint16).max)
        self.assertEqual(np.uint16(ujson.decode(ujson.encode(num))), num)

        num = np.uint32(np.iinfo(np.uint32).max)
        self.assertEqual(np.uint32(ujson.decode(ujson.encode(num))), num)

        if platform.architecture()[0] != '32bit':
            num = np.int64(np.iinfo(np.int64).max)
            self.assertEqual(np.int64(ujson.decode(ujson.encode(num))), num)

            # uint64 max will always overflow as it's encoded to signed
            num = np.uint64(np.iinfo(np.int64).max)
            self.assertEqual(np.uint64(ujson.decode(ujson.encode(num))), num)
Exemplo n.º 53
0
    def testInt(self):
        num = np.int(2562010)
        self.assertEqual(np.int(ujson.decode(ujson.encode(num))), num)

        num = np.int8(127)
        self.assertEqual(np.int8(ujson.decode(ujson.encode(num))), num)

        num = np.int16(2562010)
        self.assertEqual(np.int16(ujson.decode(ujson.encode(num))), num)

        num = np.int32(2562010)
        self.assertEqual(np.int32(ujson.decode(ujson.encode(num))), num)

        num = np.int64(2562010)
        self.assertEqual(np.int64(ujson.decode(ujson.encode(num))), num)

        num = np.uint8(255)
        self.assertEqual(np.uint8(ujson.decode(ujson.encode(num))), num)

        num = np.uint16(2562010)
        self.assertEqual(np.uint16(ujson.decode(ujson.encode(num))), num)

        num = np.uint32(2562010)
        self.assertEqual(np.uint32(ujson.decode(ujson.encode(num))), num)

        num = np.uint64(2562010)
        self.assertEqual(np.uint64(ujson.decode(ujson.encode(num))), num)
Exemplo n.º 54
0
    def test_encodeLongNegConversion(self):
        input = -9223372036854775808
        output = ujson.encode(input)

        outputjson = json.loads(output)
        outputujson = ujson.decode(output)

        self.assertEqual(input, json.loads(output))
        self.assertEqual(output, json.dumps(input))
        self.assertEqual(input, ujson.decode(output))
        pass
Exemplo n.º 55
0
    def test_encodeLongNegConversion(self):
        input = -9223372036854775808
        output = ujson.encode(input)

        outputjson = json.loads(output)
        outputujson = ujson.decode(output)

        self.assertEquals(input, json.loads(output))
        self.assertEquals(output, json.dumps(input))
        self.assertEquals(input, ujson.decode(output))
        pass
Exemplo n.º 56
0
    def test_doublePrecisionTest(self):
        input = 30.012345678901234
        output = ujson.encode(input, double_precision = 15)
        self.assertEqual(input, json.loads(output))
        self.assertEqual(input, ujson.decode(output))

        output = ujson.encode(input, double_precision = 9)
        self.assertEqual(round(input, 9), json.loads(output))
        self.assertEqual(round(input, 9), ujson.decode(output))

        output = ujson.encode(input, double_precision = 3)
        self.assertEqual(round(input, 3), json.loads(output))
        self.assertEqual(round(input, 3), ujson.decode(output))
Exemplo n.º 57
0
    def test_doublePrecisionTest(self):
        input = 30.012345678901234
        output = ujson.encode(input, double_precision = 15)
        self.assertEquals(input, json.loads(output))
        self.assertEquals(input, ujson.decode(output))

        output = ujson.encode(input, double_precision = 9)
        self.assertEquals(round(input, 9), json.loads(output))
        self.assertEquals(round(input, 9), ujson.decode(output))

        output = ujson.encode(input, double_precision = 3)
        self.assertEquals(round(input, 3), json.loads(output))
        self.assertEquals(round(input, 3), ujson.decode(output))
Exemplo n.º 58
0
    def test_encodeNullCharacter(self):
        input = "31337 \x00 1337"
        output = ujson.encode(input)
        self.assertEqual(input, json.loads(output))
        self.assertEqual(output, json.dumps(input))
        self.assertEqual(input, ujson.decode(output))

        input = "\x00"
        output = ujson.encode(input)
        self.assertEqual(input, json.loads(output))
        self.assertEqual(output, json.dumps(input))
        self.assertEqual(input, ujson.decode(output))

        self.assertEqual('"  \\u0000\\r\\n "', ujson.dumps("  \u0000\r\n "))
        pass
Exemplo n.º 59
0
    def test_datetimeindex(self):
        from pandas.tseries.index import date_range, DatetimeIndex

        rng = date_range('1/1/2000', periods=20)

        encoded = ujson.encode(rng)
        decoded = DatetimeIndex(np.array(ujson.decode(encoded)))

        self.assertTrue(rng.equals(decoded))

        ts = Series(np.random.randn(len(rng)), index=rng)
        decoded = Series(ujson.decode(ujson.encode(ts)))
        idx_values = decoded.index.values.astype(np.int64)
        decoded.index = DatetimeIndex(idx_values)
        tm.assert_series_equal(ts, decoded)
Exemplo n.º 60
0
    def test_encodeNullCharacter(self):
        input = "31337 \x00 1337"
        output = ujson.encode(input)
        self.assertEquals(input, json.loads(output))
        self.assertEquals(output, json.dumps(input))
        self.assertEquals(input, ujson.decode(output))

        input = "\x00"
        output = ujson.encode(input)
        self.assertEquals(input, json.loads(output))
        self.assertEquals(output, json.dumps(input))
        self.assertEquals(input, ujson.decode(output))

        self.assertEquals('"  \\u0000\\r\\n "', ujson.dumps(u("  \u0000\r\n ")))
        pass