code: def test_basic(self):
      data_to_test = [
          ([1, -1, None, 2], int),
          ([i for i in range(20000)], int),
          ([None, 1.0, -1.0, 2.3], float),
          (["hi", None, "hello", "None"], str),
          (
              [
                  dt.datetime(2013, 5, 7, 10, 4, 10),
                  dt.datetime(1902, 10, 21, 10, 34, 10).replace(
                      tzinfo=GMT(0.0)
                  ),
                  None,
              ],
              dt.datetime,
          ),
          ([["hi", 1], None, ["hi", 2, 3], ["hello"]], list),
          (
              [
                  array.array("d", [1.0, 2.0]),
                  array.array("d", [3.0, 4.0]),
                  None,
              ],
              array.array,
          ),
          ([{"a": 1, "b": 2}, {"c": 3, "d": 4}, None], dict),
      ]
      for i in data_to_test:
          sb = SArrayBuilder(i[1])
          self.__test_append(sb, i[0], i[1])
  
          sb = SArrayBuilder(i[1])
          self.__test_append_multiple(sb, i[0], i[1])
  
file_path: turicreate/src/python/turicreate/test/test_sarray_builder.py
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from ..data_structures.sarray_builder import SArrayBuilder
  import unittest
  import array
  import datetime
  from .._cython.cy_flexible_type import GMT
  import pytest
label_desc: Use image node_id 4 for calling the SArrayBuilderTest obj's underlying member method code with example usage: obj.test_basic() without return types