code: def test_construct_with_missing_endpoints(self):
      mock_feature = Feature("feature")
  
      int_bin = sc.LinearIntervalBin(mock_feature, 0.0, 0.0)
      self.assertEqual(int_bin.left_end, float("-inf"))
      self.assertEqual(int_bin.right_end, float("inf"))
  
      int_bin = sc.LinearIntervalBin(
          mock_feature, 0.0, 0.0, left_end=1.0
      )
      self.assertEqual(int_bin.left_end, 1.0)
      self.assertEqual(int_bin.right_end, float("inf"))
  
      int_bin = sc.LinearIntervalBin(
          mock_feature, 0.0, 0.0, right_end=0.0
      )
      self.assertEqual(int_bin.left_end, float("-inf"))
      self.assertEqual(int_bin.right_end, 0.0)
  
      int_bin = sc.LinearIntervalBin(
          mock_feature, 0.0, 0.0, left_end=1.0, right_end=2.0
      )
      self.assertEqual(int_bin.left_end, 1.0)
      self.assertEqual(int_bin.right_end, 2.0)
  
imports: from unittest import TestCase
  from unittest.mock import MagicMock
  from aix360.algorithms.rule_induction.trxf.core import Feature
  import aix360.algorithms.rule_induction.trxf.scorecard
label_desc: Use image node_id 1 for calling the TestLinearIntervalBin obj's underlying member method code with example usage: obj.test_construct_with_missing_endpoints() without return types