code: def setUp(self):
      x_dim = 2
      self.policy_network = LinearRegressionUCB(x_dim)
      policy = Policy(
          scorer=self.policy_network, sampler=GreedyActionSampler()
      )
  
      self.trainer = LinUCBTrainer(policy)
      self.eval_module = PolicyEvaluator(self.policy_network)
      logger = TensorBoardLogger("/tmp/tb")
      logger.log_metrics = MagicMock()
      self.eval_module.attach_logger(logger)
      self.trainer.attach_eval_module(self.eval_module)
  
file_path: ReAgent/reagent/test/evaluation/cb/test_integration.py
imports: import unittest
  from unittest.mock import MagicMock
  import numpy
  import numpy.testing
  import torch
  from pytorch_lightning.loggers import TensorBoardLogger
  from reagent.core.types import CBInput
  from reagent.evaluation.cb.policy_evaluator import PolicyEvaluator
  from reagent.gym.policies.policy import Policy
  from reagent.gym.policies.samplers.discrete_sampler import GreedyActionSampler
  from reagent.models.linear_regression import LinearRegressionUCB
  from reagent.training.cb.linucb_trainer import LinUCBTrainer
label_desc: Use image node_id 1 for calling the TestEvalDuringTraining obj's underlying member method code with example usage: obj.setUp() without return types