code: def testSafeMax(self):
      self.assertEqual(utils.safe_max(None, 0), 0)
      self.assertEqual(utils.safe_max(None, 1), 1)
      self.assertEqual(utils.safe_max(2, None), 2)
      self.assertEqual(utils.safe_max(None, None), None)
      self.assertEqual(utils.safe_max(1, 100), 100)
      self.assertEqual(utils.safe_max(-1, 1), 1)
      self.assertEqual(utils.safe_max(-1, 1.1), 1.1)
      self.assertEqual(utils.safe_max(2, 1.1), 2)
  
imports: import datetime
  from six.moves import xrange
  from .None import common
  from pyalgotrade import utils
  from pyalgotrade.utils import collections
  from pyalgotrade.utils import dt
label_desc: Use image node_id 3 for calling the UtilsTestCase obj's underlying member method code with example usage: obj.testSafeMax() without return types