code: def test_Eq(self) -> None:
      constraint1 = ScalarizedOutcomeConstraint(
          metrics=self.metrics,
          weights=self.weights,
          op=ComparisonOp.GEQ,
          bound=self.bound,
      )
      self.assertEqual(constraint1, self.constraint)
  
      constraint2 = ScalarizedOutcomeConstraint(
          metrics=self.metrics,
          weights=[0.2, 0.2, 0.6],
          op=ComparisonOp.LEQ,
          bound=self.bound,
      )
      self.assertNotEqual(constraint2, self.constraint)
  
imports: from unittest import mock
  from ax.core.metric import Metric
  from ax.core.outcome_constraint import CONSTRAINT_WARNING_MESSAGE, LOWER_BOUND_MISMATCH, ObjectiveThreshold, OutcomeConstraint, ScalarizedOutcomeConstraint, UPPER_BOUND_MISMATCH
  from ax.core.types import ComparisonOp
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 3 for calling the ScalarizedOutcomeConstraintTest obj's underlying member method code with example usage: obj.test_Eq() without return types