code: def _run_test_case(self, value):
      # test that JSON serialization is invertible with respect to both
      # value and type.
      (data, schema) = _json.to_serializable(value)
  
      # ensure that resulting value is actually naively serializable
      data = json.loads(json.dumps(data, allow_nan=False))
      schema = json.loads(json.dumps(schema, allow_nan=False))
  
      # print("----------------------------------")
      # print("Value: %s" % value)
      # print("Serializable Data: %s" % data)
      # print("Serializable Schema: %s" % schema)
      result = _json.from_serializable(data, schema)
      # print("Deserialized Result: %s" % result)
      # print("----------------------------------")
      self._assertEqual(result, value)
      # test that JSON serialization gives expected result
      serialized = _json.dumps(value)
      deserialized = _json.loads(serialized)
      self._assertEqual(deserialized, value)
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import array
  import datetime
  import json
  import math
  import os
  import pandas
  import pytz
  import six
  import string
  import sys
  import unittest
  import tempfile
  import pytest
  from .None import util
  from ..None import _json
  from ..data_structures.sarray import SArray
  from ..data_structures.sframe import SFrame
  from ..data_structures.sgraph import SGraph, Vertex, Edge
label_desc: Use image node_id 2 for calling the JSONTest obj's underlying member method code with example usage: obj._run_test_case(value) without return types