code: def test_quality_scores_and_full_null_row_identification(
      self, issue_manager, embeddings
  ):
      # Run the find_issues method
      issue_manager.find_issues(features=embeddings)
      issues_sort, _, _ = (
          issue_manager.issues,
          issue_manager.summary,
          issue_manager.info,
      )
  
      # Check for the two main properties:
  
      # 1. The quality score for each row should be the fraction of features which are not null in that row.
      non_null_fractions = [
          np.count_nonzero(~np.isnan(row)) / len(row)
          for row in embeddings
      ]
      scores = issues_sort[issue_manager.issue_score_key]
      assert np.allclose(scores, non_null_fractions, atol=1e-7)
  
      # 2. The rows that are marked as is_null_issue should ONLY be those rows which are 100% null values.
      all_rows_are_null = np.all(np.isnan(embeddings), axis=1)
      assert np.all(issues_sort["is_null_issue"] == all_rows_are_null)
  
file_path: cleanlab/tests/datalab/issue_manager/test_null.py
imports: import numpy
  import pytest
  from hypothesis.extra.numpy import arrays, array_shapes
  from hypothesis.strategies import floats, just
  from hypothesis import HealthCheck, given, settings
  from cleanlab.datalab.internal.issue_manager.null import NullIssueManager
label_desc: Use image node_id 11 for calling the TestNullIssueManager obj's underlying member method code with example usage: obj.test_quality_scores_and_full_null_row_identification(issue_manager, embeddings) without return types