code: def test_build(self, obs_dim, action_dim):
      env = GymEnv(
          DummyDiscreteEnv(obs_dim=obs_dim, action_dim=action_dim)
      )
      qf = DiscreteMLPQFunction(env_spec=env.spec)
      env.reset()
      obs = env.step(1).observation
  
      output1 = self.sess.run(qf.q_vals, feed_dict={qf.input: [obs]})
  
      input_var = tf.compat.v1.placeholder(
          tf.float32, shape=(None,) + obs_dim
      )
      q_vals = qf.build(input_var, "another")
      output2 = self.sess.run(q_vals, feed_dict={input_var: [obs]})
  
      assert np.array_equal(output1, output2)
  
file_path: garage/tests/garage/tf/q_functions/test_discrete_mlp_q_function.py
imports: import pickle
  import numpy
  import pytest
  import tensorflow
  from garage.envs import GymEnv
  from garage.tf.q_functions import DiscreteMLPQFunction
  from tests.fixtures import TfGraphTestCase
  from tests.fixtures.envs.dummy import DummyDiscreteEnv
label_desc: Use image node_id 3 for calling the TestDiscreteMLPQFunction obj's underlying member method code with example usage: obj.test_build(obs_dim, action_dim) without return types