code: def weak_multi_labels(monkeypatch):
      def mock_load(*args, **kwargs):
          return [
              TextClassificationRecord(
                  text="test", multi_label=True, annotation=["scared"]
              ),
              TextClassificationRecord(
                  text="test",
                  multi_label=True,
                  annotation=["sad", "scared"],
              ),
              TextClassificationRecord(
                  text="test", multi_label=True, annotation=[]
              ),
              TextClassificationRecord(text="test", multi_label=True),
          ]
  
      monkeypatch.setattr(
          "argilla.labeling.text_classification.weak_labels.load",
          mock_load,
      )
  
      def mock_apply(self, *args, **kwargs):
          weak_label_matrix = np.array(
              [
                  [[0, 0, 1], [-1, -1, -1]],
                  [[0, 1, 1], [1, 0, 1]],
                  [[-1, -1, -1], [-1, -1, -1]],
                  [[0, 0, 0], [0, 0, 0]],
              ],
              dtype=np.byte,
          )
          annotation_array = np.array(
              [[0, 0, 1], [1, 0, 1], [0, 0, 0], [-1, -1, -1]],
              dtype=np.byte,
          )
          labels = ["sad", "happy", "scared"]
          return weak_label_matrix, annotation_array, labels
  
      monkeypatch.setattr(WeakMultiLabels, "_apply_rules", mock_apply)
  
      return WeakMultiLabels(rules=[lambda: None] * 2, dataset="mock")
  
imports: import sys
  import numpy
  import pytest
  from argilla.client.models import TextClassificationRecord
  from argilla.labeling.text_classification import FlyingSquid, Snorkel, WeakLabels, WeakMultiLabels
  from argilla.labeling.text_classification.label_models import LabelModel, MajorityVoter, MissingAnnotationError, NotFittedError, TieBreakPolicy, TooFewRulesError
label_desc: Use image node_id 3 for calling a global function with example usage: weak_multi_labels(monkeypatch) and returns: WeakMultiLabels, list, weak_label_matrix,  annotation_array,  labels