code: def test_variables_and_variable_groups(self):
      self.assertIsInstance(
          self.exp.model_parts(
              variable_groups={
                  "personal": ["gender", "age", "sibsp", "parch"],
                  "wealth": ["class", "fare"],
              }
          ),
          dx.model_explanations.VariableImportance,
      )
  
      self.assertIsInstance(
          self.exp.model_parts(variables=["age", "class"]),
          dx.model_explanations.VariableImportance,
      )
  
      with self.assertRaises(TypeError):
          self.exp.model_parts(variable_groups=["age"])
  
      with self.assertRaises(TypeError):
          self.exp.model_parts(variables="age")
  
      with self.assertRaises(TypeError):
          self.exp.model_parts(variable_groups="age")
  
      with self.assertRaises(TypeError):
          self.exp.model_parts(variable_groups={"age": "age"})
  
      with self.assertRaises(TypeError):
          self.exp.model_parts(variables={"age": "age"})
  
      with self.assertRaises(TypeError):
          self.exp.model_parts(variables={"age": ["age"]})
  
      self.assertIsInstance(
          self.exp.model_parts(
              variables=["age"], variable_groups={"age": ["age"]}
          ),
          dx.model_explanations.VariableImportance,
      )
  
imports: import unittest
  import numpy
  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
  from dalex.model_explanations._model_performance.utils import *
  from dalex.model_explanations._variable_importance import utils
label_desc: Use image node_id 5 for calling the FeatureImportanceTestTitanic obj's underlying member method code with example usage: obj.test_variables_and_variable_groups() without return types