code: def test_variable_attributes(self):
      arena = dx.Arena()
      arena.push_model(self.exp)
      titanic = dx.datasets.load_titanic().iloc[1:20]
      arena.push_observations(titanic)
      attrs = {
          k: arena.get_param_attributes("variable", k)
          for k in self.X.columns
      }
      self.assertEqual(
          attrs,
          {
              "age": {
                  "type": "numeric",
                  "min": 0.1666666667,
                  "max": 74.0,
                  "levels": None,
              },
              "class": {
                  "type": "categorical",
                  "min": None,
                  "max": None,
                  "levels": [
                      "1st",
                      "2nd",
                      "3rd",
                      "deck crew",
                      "engineering crew",
                      "restaurant staff",
                      "victualling crew",
                  ],
              },
              "embarked": {
                  "type": "categorical",
                  "min": None,
                  "max": None,
                  "levels": [
                      "Belfast",
                      "Cherbourg",
                      "Queenstown",
                      "Southampton",
                  ],
              },
              "fare": {
                  "type": "numeric",
                  "min": 0.0,
                  "max": 512.0607,
                  "levels": None,
              },
              "gender": {
                  "type": "categorical",
                  "min": None,
                  "max": None,
                  "levels": ["female", "male"],
              },
              "parch": {
                  "type": "numeric",
                  "min": 0,
                  "max": 9,
                  "levels": [0, 1, 2, 3, 4, 5, 6, 9],
              },
              "sibsp": {
                  "type": "numeric",
                  "min": 0,
                  "max": 8,
                  "levels": [0, 1, 2, 3, 4, 5, 8],
              },
          },
      )
  
imports: import unittest
  from plotly.graph_objs import Figure
  from sklearn.compose import ColumnTransformer
  from sklearn.impute import SimpleImputer
  from sklearn.neural_network import MLPClassifier
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import StandardScaler, LabelEncoder, OneHotEncoder
  import dalex
  import time
  import numpy
  import pandas
  from dalex.arena.static import get_free_port, try_port
  from dalex.arena.plots import *
label_desc: Use image node_id 6 for calling the ArenaTestTitanic obj's underlying member method code with example usage: obj.test_variable_attributes() without return types