code: def test_choice(self):
      # Test that RandomStreams.choice generates the same results as numpy
      # Check over two calls to see if the random state is correctly updated.
      random = RandomStreams(utt.fetch_seed())
      fn = function([], random.choice((11, 8), 10, 1, 0))
      fn_val0 = fn()
      fn_val1 = fn()
  
      rng_seed = np.random.RandomState(utt.fetch_seed()).randint(
          2**30
      )
      rng = np.random.RandomState(int(rng_seed))  # int() is for 32bit
      numpy_val0 = rng.choice(10, (11, 8), True, None)
      numpy_val1 = rng.choice(10, (11, 8), True, None)
  
      assert np.all(fn_val0 == numpy_val0)
      assert np.all(fn_val1 == numpy_val1)
  
imports: from __future__ import absolute_import, print_function, division
  import sys
  import unittest
  import numpy
  from theano.tensor import raw_random
  from theano.tensor.shared_randomstreams import RandomStreams
  from theano import function, shared
  from theano import tensor
  from theano import compile, config, gof
  from theano.tests import unittest_tools
label_desc: Use image node_id 11 for calling the T_SharedRandomStreams obj's underlying member method code with example usage: obj.test_choice() without return types