code: def test_discrete_hopfield_async(self):
      data = np.concatenate([zero, one, two], axis=0)
      data_before = data.copy()
      dhnet = algorithms.DiscreteHopfieldNetwork(
          mode="async", n_times=1000
      )
      dhnet.train(data)
  
      half_zero_before = half_zero.copy()
      np.testing.assert_array_almost_equal(
          zero, dhnet.predict(half_zero)
      )
      np.testing.assert_array_almost_equal(one, dhnet.predict(half_one))
      np.testing.assert_array_almost_equal(two, dhnet.predict(half_two))
  
      multiple_outputs = np.vstack([zero, one, two])
      multiple_inputs = np.vstack([half_zero, half_one, half_two])
      np.testing.assert_array_almost_equal(
          multiple_outputs,
          dhnet.predict(multiple_inputs),
      )
  
      np.testing.assert_array_equal(data_before, data)
      np.testing.assert_array_equal(half_zero, half_zero_before)
  
file_path: neupy/tests/algorithms/memory/test_discrete_hn.py
imports: import numpy
  from neupy import algorithms
  from algorithms.memory.data import zero, one, two, half_one, half_zero, half_two
  from base import BaseTestCase
label_desc: Use image node_id 5 for calling the DiscreteHopfieldNetworkTestCase obj's underlying member method code with example usage: obj.test_discrete_hopfield_async() without return types