code: def test_setup(self):
      train_n = 10
      test_n = 5
      dim = 2
      k = 3
  
      new_train_n = 20
      new_test_n = 15
  
      for preferred_nnlib in ["sklearn", "faiss"]:
          nn_util = self._setup(
              k=k,
              dim=dim,
              batch_shape=torch.Size([]),
              train_n=train_n,
              test_n=test_n,
              preferred_nnlib=preferred_nnlib,
          )
          self._run(
              nn_util,
              dim=dim,
              batch_shape=nn_util.batch_shape,
              train_n=new_train_n,
              test_n=new_test_n,
          )
  
          self._setup(
              k=k,
              dim=dim,
              batch_shape=torch.Size([2]),
              train_n=train_n,
              test_n=test_n,
              preferred_nnlib=preferred_nnlib,
          )
          self._run(
              nn_util,
              dim=dim,
              batch_shape=nn_util.batch_shape,
              train_n=new_train_n,
              test_n=new_test_n,
          )
  
          self._setup(
              k=k,
              dim=dim,
              batch_shape=torch.Size([2, 5, 10]),
              train_n=train_n,
              test_n=test_n,
              seq_train_n=25,
              preferred_nnlib=preferred_nnlib,
          )
          self._run(
              nn_util,
              dim=dim,
              batch_shape=nn_util.batch_shape,
              train_n=new_train_n,
              test_n=new_test_n,
              seq_train_n=30,
          )
  
file_path: gpytorch/test/utils/test_nearest_neighbors.py
imports: import unittest
  import torch
  from gpytorch.utils.nearest_neighbors import NNUtil
label_desc: Use image node_id 3 for calling the TestNNUtil obj's underlying member method code with example usage: obj.test_setup() without return types