code: def test_create_attacker_data_loss_only(self):
      attack_input = AttackInputData(
          loss_train=np.array([1, 3]), loss_test=np.array([2, 4])
      )
      attacker_data = models.create_attacker_data(attack_input, 2)
      self.assertLen(attacker_data.features_all, 4)
  
file_path: privacy/tensorflow_privacy/privacy/privacy_tests/membership_inference_attack/models_test.py
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack import models
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import AttackInputData
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import AttackType
label_desc: Use image node_id 3 for calling the TrainedAttackerTest obj's underlying member method code with example usage: obj.test_create_attacker_data_loss_only() without return types