def test_utf_string(self): value = six.u("Iñtërnâtiônàlizætiøn") self.map.set("key", value) self.assertEqual(value, self.map.get("key")) response = self.get_from_server() self.assertEqual(value, response)
def test_emoji(self): value = six.u("1⚐中💦2😭🙆😔5") self.map.set("key", value) self.assertEqual(value, self.map.get("key")) response = self.get_from_server() self.assertEqual(value, response)
def test_string_array_from_server(self): self.assertTrue( self.set_on_server( six.u('Java.to(["hey", "1⚐中💦2😭🙆😔5"], "java.lang.String[]")'))) self.assertEqual(["hey", six.u("1⚐中💦2😭🙆😔5")], self.map.get("key"))
def test_string_from_server(self): self.assertTrue(self.set_on_server(six.u('"1⚐中💦2😭🙆😔5"'))) self.assertEqual(six.u("1⚐中💦2😭🙆😔5"), self.map.get("key"))
def test_utf_chars(self): value = six.u("\u0040\u0041\u01DF\u06A0\u12E0\u1D306") self.map.set("key", value) self.assertEqual(value, self.map.get("key")) response = self.get_from_server() self.assertEqual(value, response)
# coding=utf-8 import binascii import unittest from hazelcast.config import SerializationConfig from hazelcast.serialization.bits import * from hazelcast.serialization.data import Data from hazelcast.serialization.serialization_const import CONSTANT_TYPE_STRING from hazelcast.serialization.service import SerializationServiceV1 from hazelcast import six TEST_DATA_TURKISH = six.u("Pijamalı hasta, yağız şoföre çabucak güvendi.") TEST_DATA_JAPANESE = six.u("イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム") TEST_DATA_ASCII = "The quick brown fox jumps over the lazy dog" TEST_DATA_ALL = TEST_DATA_TURKISH + TEST_DATA_JAPANESE + TEST_DATA_ASCII TEST_STR_SIZE = 1 << 20 TEST_DATA_BYTES_ALL = TEST_DATA_ALL.encode("utf8") def to_data_byte(inp): encoded_data = inp.encode("utf8") # 4 byte partition hashcode - 4 byte of type id - 4 byte string length bf = bytearray(12) BE_INT.pack_into(bf, 0, 0) BE_INT.pack_into(bf, 4, CONSTANT_TYPE_STRING) BE_INT.pack_into(bf, 8, len(encoded_data)) return bf + encoded_data class StringSerializationTestCase(unittest.TestCase):
def test_string(self): self.validate("") self.validate("client") self.validate(six.u("1⚐中💦2😭🙆😔5")) self.validate(six.u("Iñtërnâtiônàlizætiøn")) self.validate(six.u("\u0040\u0041\u01DF\u06A0\u12E0\u1D30"))