code: def test_build(self, obs_dim, action_dim):
      env = GymEnv(DummyBoxEnv(obs_dim=obs_dim, action_dim=action_dim))
      qf = ContinuousMLPQFunction(
          env_spec=env.spec,
          action_merge_layer=0,
          hidden_sizes=(1,),
          hidden_nonlinearity=None,
          hidden_w_init=tf.ones_initializer(),
          output_w_init=tf.ones_initializer(),
      )
      obs = np.full(obs_dim, 1).flatten()
      act = np.full(action_dim, 1).flatten()
  
      output1 = qf.get_qval([obs], [act])
  
      input_var1 = tf.compat.v1.placeholder(
          tf.float32, shape=(None, obs.shape[0])
      )
      input_var2 = tf.compat.v1.placeholder(
          tf.float32, shape=(None, act.shape[0])
      )
      q_vals = qf.build(input_var1, input_var2, "another")
      output2 = self.sess.run(
          q_vals, feed_dict={input_var1: [obs], input_var2: [act]}
      )
  
      expected_output = np.full(
          (1,), np.prod(obs_dim) + np.prod(action_dim)
      )
  
      assert np.array_equal(output1, output2)
      assert np.array_equal(output2[0], expected_output)
  
file_path: garage/tests/garage/tf/q_functions/test_continuous_mlp_q_function.py
imports: import pickle
  import numpy
  import pytest
  import tensorflow
  from garage.envs import GymEnv
  from garage.tf.q_functions import ContinuousMLPQFunction
  from tests.fixtures import TfGraphTestCase
  from tests.fixtures.envs.dummy import DummyBoxEnv
label_desc: Use image node_id 3 for calling the TestContinuousMLPQFunction obj's underlying member method code with example usage: obj.test_build(obs_dim, action_dim) without return types