code: def test_Interactions_exact_negative_samples(
      self, ratings_matrix_for_interactions
  ):
      interactions = Interactions(
          mat=ratings_matrix_for_interactions,
          num_negative_samples=NUM_NEGATIVE_SAMPLES,
          max_number_of_samples_to_consider=200,
          seed=42,
      )
  
      assert interactions.positive_items != {}
  
      all_negative_samples = list()
      for _ in range(10):
          _, negative_samples = interactions[0]
  
          assert len(negative_samples) == NUM_NEGATIVE_SAMPLES
  
          for negative_sample in negative_samples:
              assert (
                  negative_sample.item()
                  not in ratings_matrix_for_interactions[0].nonzero()[0]
              )
  
          all_negative_samples += negative_samples.tolist()
  
      assert len(set(all_negative_samples)) > NUM_NEGATIVE_SAMPLES
  
imports: import sys
  import numpy
  import pandas
  import pytest
  from collie.interactions import ApproximateNegativeSamplingInteractionsDataLoader, ExplicitInteractions, HDF5Interactions, HDF5InteractionsDataLoader, Interactions, InteractionsDataLoader
label_desc: Use image node_id 4 for calling the TestInteractionsNegativeSampling obj's underlying member method code with example usage: obj.test_Interactions_exact_negative_samples(ratings_matrix_for_interactions) without return types