code: def setUp(self, batch_size, action_size, has_maximizer):
      self.batch_size = batch_size
      self.action_size = action_size
      self.has_maximizer = has_maximizer
  
      def evaluator(actions):
          # negative square norm of actions
          return -torch.sum(actions**2, dim=1)
  
      self.evaluator = evaluator
  
      if self.has_maximizer:
  
          def maximizer():
              return torch.from_numpy(
                  np.zeros(
                      (self.batch_size, self.action_size),
                      dtype=np.float32,
                  )
              )
  
      else:
          maximizer = None
      self.maximizer = maximizer
      self.av = action_value.SingleActionValue(
          evaluator=evaluator, maximizer=maximizer
      )
  
imports: import unittest
  import numpy
  import pytest
  import torch
  from pfrl import action_value
  from pfrl.testing import torch_assert_allclose
label_desc: Use image node_id 1 for calling the TestSingleActionValue obj's underlying member method code with example usage: obj.setUp(batch_size, action_size, has_maximizer) and returns: unknown, torch