'Test *args atoms taking list input.'

def test_list_input(self):

    with self.assertRaises(Exception) as cm:
        min_elemwise()
    self.assertEqual(str(cm.exception), 'min_elemwise    requires    at    least    two    arguments    or    a    list.')
    with self.assertRaises(Exception) as cm:
        min_elemwise(self.x)
    self.assertEqual(str(cm.exception), 'min_elemwise    requires    at    least    two    arguments    or    a    list.')
    self.assertAlmostEqual(min_elemwise([1, 2]).value, 1)
    with self.assertRaises(Exception) as cm:
        max_elemwise()
    self.assertEqual(str(cm.exception), 'max_elemwise    requires    at    least    two    arguments    or    a    list.')
    with self.assertRaises(Exception) as cm:
        max_elemwise(self.x)
    self.assertEqual(str(cm.exception), 'max_elemwise    requires    at    least    two    arguments    or    a    list.')
    self.assertAlmostEqual(max_elemwise([1, 2]).value, 2)
    self.assertAlmostEqual(tv([np.ones((2, 2)), np.ones((2, 2))]).value, 0.0)
    expr = hstack([np.ones((2, 2)), np.ones((2, 2))])
    self.assertEqual(expr.size, (2, 4))
    self.assertItemsAlmostEqual(expr.value, np.ones((2, 4)))
    expr = vstack([np.ones((2, 2)), np.ones((2, 2))])
    self.assertEqual(expr.size, (4, 2))
    self.assertItemsAlmostEqual(expr.value, np.ones((4, 2)))
