code: def testSafeMin(self):
      self.assertEqual(utils.safe_min(None, 0), 0)
      self.assertEqual(utils.safe_min(0, None), 0)
      self.assertEqual(utils.safe_min(None, None), None)
      self.assertEqual(utils.safe_min(0, 0), 0)
      self.assertEqual(utils.safe_min(1, 0), 0)
      self.assertEqual(utils.safe_min(0, 1), 0)
      self.assertEqual(utils.safe_min(-1, 1), -1)
      self.assertEqual(utils.safe_min(1, -1), -1)
      self.assertEqual(utils.safe_min(-1, -2), -2)
      self.assertEqual(utils.safe_min(-2, -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 2 for calling the UtilsTestCase obj's underlying member method code with example usage: obj.testSafeMin() without return types