def _assertEqual(self, xs, ys):
    self.assertEqual(type(xs), type(ys))
    if (isinstance(xs, tuple) and isinstance(ys, tuple)):
        self.assertEqual(len(xs), len(ys))
        for (x, y) in zip(xs, ys):
            self._assertEqual(x, y)
    elif (isinstance(xs, np.ndarray) and isinstance(ys, np.ndarray)):
        self.assertAllEqual(xs, ys)
    else:
        self.assertEqual(xs, ys)
def _assertEqual(self, xs, ys):
    self.assertEqual(type(xs), type(ys))
    if (isinstance(xs, tuple) and isinstance(ys, tuple)):
        self.assertEqual(len(xs), len(ys))
        for (x, y) in zip(xs, ys):
            self._assertEqual(x, y)
    elif (isinstance(xs, np.ndarray) and isinstance(ys, np.ndarray)):
        self.assertAllEqual(xs, ys)
    else:
        self.assertEqual(xs, ys)