def testSimple(self):
   self.assertTrue(pruneNulls(VALUES) == VALUES)
   extended_values = list(VALUES)
   extended_values.append(None)
   self.assertTrue(pruneNulls(extended_values) == VALUES)
   extended_values.append(np.nan)
   self.assertTrue(pruneNulls(extended_values) == VALUES)
示例#2
0
 def testSimple(self):
     self.assertTrue(pruneNulls(VALUES) == VALUES)
     extended_values = list(VALUES)
     extended_values.append(None)
     self.assertTrue(pruneNulls(extended_values) == VALUES)
     extended_values.append(np.nan)
     self.assertTrue(pruneNulls(extended_values) == VALUES)
示例#3
0
 def makeList(val):
   result = cell_types.makeIterable(val)
   pruned_result = pruneNulls(result)
   if isinstance(pruned_result, list):
     return pruned_result
   else:
     return [v for v in pruned_result]
示例#4
0
def isEquivalentData(val1, val2):
  """
  Determines if two objects are equivalent. Recursively
  inspects iterables. 
  :param object val1, val2:
  :return bool:
  """
  warnings.filterwarnings('error')
  try:
    if isStr(val1) and isStr(val2):
      return val1 == val2  # Catch where this becomes a warning
  except Warning:
    import pdb; pdb.set_trace()
    pass
  if isIterable(val1):
    try:
      pruned_val1 = pruneNulls(val1)
      pruned_val2 = pruneNulls(val2)
      if len(pruned_val1) == len(pruned_val2):
        length = len(pruned_val1)
        for idx in range(length):
          if not isEquivalentData(pruned_val1[idx], pruned_val2[idx]):
            return False
        return True
      else:
        return False
    except TypeError as err:
      return False
  elif isinstance(val2, collections.Iterable) and not isStr(val2):
      return False
  else:
    if isFloat(val1) and  isEquivalentFloats(val1, val2):
      return True
    try:
      if val1 == val2:
        return True
    except:
      pass
    values = coerceData([val1, val2])
    coerced_val1 = values[0]
    coerced_val2 = values[1]
    if isFloat(coerced_val1):
      return isEquivalentFloats(coerced_val1, coerced_val2)
    else:
      return coerced_val1 == coerced_val2
 def test4(self):
   self.assertEqual(len(pruneNulls([np.nan, np.nan])), 0)
 def testEmbeddedNulls(self):
   extended_values = list(VALUES)
   extended_values.insert(0, None)
   self.assertTrue(pruneNulls(extended_values) == extended_values)
示例#7
0
 def test4(self):
     self.assertEqual(len(pruneNulls([np.nan, np.nan])), 0)
示例#8
0
 def testEmbeddedNulls(self):
     extended_values = list(VALUES)
     extended_values.insert(0, None)
     self.assertTrue(pruneNulls(extended_values) == extended_values)