code: def test__find_first_nonempty(self):
      # None
      observed = normalization.find_first_nonempty(None)
      assert observed[0] is None
      assert observed[1] is True
      assert len(observed[2]) == 0
  
      # None with parents
      observed = normalization.find_first_nonempty(
          None, parents=["foo"]
      )
      assert observed[0] is None
      assert observed[1] is True
      assert len(observed[2]) == 1
      assert observed[2][0] == "foo"
  
      # array
      observed = normalization.find_first_nonempty(np.zeros((4, 4, 3)))
      assert ia.is_np_array(observed[0])
      assert observed[0].shape == (4, 4, 3)
      assert observed[1] is True
      assert len(observed[2]) == 0
  
      # int
      observed = normalization.find_first_nonempty(0)
      assert observed[0] == 0
      assert observed[1] is True
      assert len(observed[2]) == 0
  
      # str
      observed = normalization.find_first_nonempty("foo")
      assert observed[0] == "foo"
      assert observed[1] is True
      assert len(observed[2]) == 0
  
      # empty list
      observed = normalization.find_first_nonempty([])
      assert observed[0] is None
      assert observed[1] is False
      assert len(observed[2]) == 0
  
      # empty list of empty lists
      observed = normalization.find_first_nonempty([[], [], []])
      assert observed[0] is None
      assert observed[1] is False
      assert len(observed[2]) == 1
  
      # empty list of empty lists of empty lists
      observed = normalization.find_first_nonempty([[], [[]], []])
      assert observed[0] is None
      assert observed[1] is False
      assert len(observed[2]) == 2
  
      # list of None
      observed = normalization.find_first_nonempty([None, None])
      assert observed[0] is None
      assert observed[1] is True
      assert len(observed[2]) == 1
  
      # list of array
      observed = normalization.find_first_nonempty(
          [np.zeros((4, 4, 3)), np.zeros((5, 5, 3))]
      )
      assert ia.is_np_array(observed[0])
      assert observed[0].shape == (4, 4, 3)
      assert observed[1] is True
      assert len(observed[2]) == 1
  
      # list of list of array
      observed = normalization.find_first_nonempty(
          [[np.zeros((4, 4, 3))], [np.zeros((5, 5, 3))]]
      )
      assert ia.is_np_array(observed[0])
      assert observed[0].shape == (4, 4, 3)
      assert observed[1] is True
      assert len(observed[2]) == 2
  
      # list of tuple of array
      observed = normalization.find_first_nonempty(
          [
              (np.zeros((4, 4, 3)), np.zeros((5, 5, 3))),
              (np.zeros((6, 6, 3)), np.zeros((7, 7, 3))),
          ]
      )
      assert ia.is_np_array(observed[0])
      assert observed[0].shape == (4, 4, 3)
      assert observed[1] is True
      assert len(observed[2]) == 2
  
imports: from __future__ import print_function, division, absolute_import
  import sys
  import numpy
  import six.moves
  import imgaug
  import imgaug.augmentables.normalization
  from imgaug.testutils import reseed
label_desc: Use image node_id 16 for calling the TestNormalization obj's underlying member method code with example usage: obj.test__find_first_nonempty() without return types