code: def test_build_on_call(self):
      class LayerWithUnbuiltState(layers.Layer):
          def __init__(self, units):
              super().__init__()
              self.dense1 = layers.Dense(units)
  
          def call(self, x):
              return self.dense1(x)
  
      layer = LayerWithUnbuiltState(2)
      layer(backend.KerasTensor((3, 4)))
      self.assertLen(layer.weights, 2)
  
      class KwargsLayerWithUnbuiltState(layers.Layer):
          def __init__(self, units):
              super().__init__()
              self.dense1 = layers.Dense(units)
              self.dense2 = layers.Dense(units)
  
          def call(self, x1, x2):
              return self.dense1(x1) + self.dense2(x2)
  
      layer = KwargsLayerWithUnbuiltState(2)
      layer(backend.KerasTensor((3, 4)), backend.KerasTensor((3, 4)))
      self.assertLen(layer.weights, 4)
  
      layer = KwargsLayerWithUnbuiltState(2)
      layer(
          x1=backend.KerasTensor((3, 4)), x2=backend.KerasTensor((3, 4))
      )
      self.assertLen(layer.weights, 4)
  
imports: import numpy
  import pytest
  from keras import backend
  from keras import layers
  from keras import metrics
  from keras import models
  from keras import ops
  from keras import testing
label_desc: Use image node_id 6 for calling the LayerTest obj's underlying member method code with example usage: obj.test_build_on_call() and returns: self, unknown