class_docstr: BoltOn Optimizer tests.
class_docstr_tok: ["BoltOn","Optimizer","tests","."]
docstr: Test a function is rerouted.
  
  Test that attribute of internal optimizer is correctly rerouted to the
  internal optimizer.
  
  Args:
    attr: attribute to test
docstr_tok: ["Test","a","function","is","rerouted",".","Test","that","attribute","of","internal","optimizer","is","correctly","rerouted","to","the","internal","optimizer",".","Args",":","attr",":","attribute","to","test"]
code: def test_reroute_attr(self, attr):
      """Test a function is rerouted.
  
      Test that attribute of internal optimizer is correctly rerouted to the
      internal optimizer.
  
      Args:
        attr: attribute to test
      """
      loss = TestLoss(1, 1, 1)
      internal_optimizer = TestOptimizer()
      optimizer = opt.BoltOn(internal_optimizer, loss)
      self.assertEqual(
          getattr(optimizer, attr), getattr(internal_optimizer, attr)
      )
  
imports: import unittest
  from absl.testing import parameterized
  import tensorflow.compat.v1
  from tensorflow.compat.v1.python import ops
  from tensorflow.compat.v1.python.framework import test_util
  from tensorflow.compat.v1.python.keras import keras_parameterized
  from tensorflow.compat.v1.python.keras import losses
  from tensorflow.compat.v1.python.keras.initializers import constant
  from tensorflow.compat.v1.python.keras.models import Model
  from tensorflow.compat.v1.python.keras.optimizer_v2.optimizer_v2 import OptimizerV2
  from tensorflow.compat.v1.python.keras.regularizers import L1L2
  from tensorflow.compat.v1.python.platform import test
  from tensorflow_privacy.privacy.bolt_on import optimizers
  from tensorflow_privacy.privacy.bolt_on.losses import StrongConvexMixin
label_desc: Use image node_id 8 for calling the BoltonOptimizerTest obj's underlying member method code with example usage: obj.test_reroute_attr(attr) without return types