code: def test_widget_client_df(self, rename_libraries):
      import perspective
  
      assert perspective.is_libpsp() is False
      data = pd.DataFrame(
          {
              "a": np.arange(10),
              "b": [True for i in range(10)],
              "c": [str(i) for i in range(10)],
          }
      )
      widget = perspective.PerspectiveWidget(data)
      assert hasattr(widget, "table") is False
      assert widget._data == {
          "index": [i for i in range(10)],
          "a": [i for i in range(10)],
          "b": [True for i in range(10)],
          "c": [str(i) for i in range(10)],
      }
  
imports: import os
  import pytest
  import sys
  import numpy
  import pandas
  from datetime import date, datetime
  from functools import partial
  from types import MethodType
label_desc: Use image node_id 3 for calling the TestClient obj's underlying member method code with example usage: obj.test_widget_client_df(rename_libraries) without return types