code: def test_feature_mismatch_violation(self):
      mock_feature = Feature("feature")
      mock_bins = [
          sc.LinearIntervalBin(mock_feature, 0.0, 0.0, -1.0, 0.0),
          sc.LinearIntervalBin(mock_feature, 0.0, 0.0, 0.0, 1.0),
          sc.LinearIntervalBin(mock_feature, 0.0, 0.0, 1.0, 2.0),
      ]
      partition = sc.Partition(mock_bins)
      self.assertEqual(partition.feature, mock_feature)
  
      mock_feature1 = Feature("feature1")
      mock_feature2 = Feature("feature2")
      mock_bins = [
          sc.LinearIntervalBin(mock_feature1, 0.0, 0.0, -1.0, 0.0),
          sc.LinearIntervalBin(mock_feature2, 0.0, 0.0, 0.0, 1.0),
          sc.LinearIntervalBin(mock_feature1, 0.0, 0.0, 1.0, 2.0),
      ]
      self.assertRaises(ValueError, sc.Partition, mock_bins)
  
file_path: AIX360/tests/rule_induction/trxf/scorecard/test_partition.py
imports: from unittest import TestCase
  from unittest.mock import MagicMock
  import aix360.algorithms.rule_induction.trxf.scorecard
  from aix360.algorithms.rule_induction.trxf.core import Feature
label_desc: Use image node_id 3 for calling the TestPartition obj's underlying member method code with example usage: obj.test_feature_mismatch_violation() without return types