code: def test_get_lower_bound(self):
      self.assertEqual(utility_analysis._get_lower_bound(-1), 0)
      self.assertEqual(utility_analysis._get_lower_bound(0), 0)
      self.assertEqual(utility_analysis._get_lower_bound(1), 1)
      self.assertEqual(utility_analysis._get_lower_bound(5), 1)
      self.assertEqual(utility_analysis._get_lower_bound(11), 10)
      self.assertEqual(utility_analysis._get_lower_bound(20), 20)
      self.assertEqual(utility_analysis._get_lower_bound(1234), 1000)
      self.assertEqual(utility_analysis._get_upper_bound(10**13), -1)
  
imports: import copy
  from absl.testing import absltest
  from absl.testing import parameterized
  import pipeline_dp
  import analysis
  from analysis import metrics
  from analysis import utility_analysis
  from analysis.tests import common
  from typing import Optional
label_desc: Use image node_id 8 for calling the UtilityAnalysis obj's underlying member method code with example usage: obj.test_get_lower_bound() without return types