def test_invalid_put_string(self):
     """
     Attempt to put a string using an invalid input and verify that it fails.
     """
     manager = SharedMemoryManager()
     shared_mem_meta = manager.put_string(None)
     self.assertIsNone(shared_mem_meta)
 def test_put_string(self):
     """
     Verify that the given input was successfully put into shared memory.
     The input is string.
     """
     manager = SharedMemoryManager()
     content_size = consts.MIN_BYTES_FOR_SHARED_MEM_TRANSFER + 10
     num_chars = math.floor(content_size / consts.SIZE_OF_CHAR_BYTES)
     content = self.get_random_string(num_chars)
     expected_size = len(content.encode('utf-8'))
     shared_mem_meta = manager.put_string(content)
     self.assertIsNotNone(shared_mem_meta)
     self.assertTrue(self.is_valid_uuid(shared_mem_meta.mem_map_name))
     self.assertEqual(expected_size, shared_mem_meta.count_bytes)
     free_success = manager.free_mem_map(shared_mem_meta.mem_map_name)
     self.assertTrue(free_success)
 def test_get_string(self):
     """
     Verify that the output object was successfully gotten from shared
     memory.
     The output is string.
     """
     manager = SharedMemoryManager()
     content_size = consts.MIN_BYTES_FOR_SHARED_MEM_TRANSFER + 10
     num_chars = math.floor(content_size / consts.SIZE_OF_CHAR_BYTES)
     content = self.get_random_string(num_chars)
     shared_mem_meta = manager.put_string(content)
     mem_map_name = shared_mem_meta.mem_map_name
     num_bytes_written = shared_mem_meta.count_bytes
     read_content = manager.get_string(mem_map_name,
                                       offset=0,
                                       count=num_bytes_written)
     self.assertEqual(content, read_content)
     free_success = manager.free_mem_map(mem_map_name)
     self.assertTrue(free_success)