'Test str_replace function parameter values.
Pass parameter values of wrong type to function and verify that we get
a TypeError in the constructor.'

def test_str_replace_invalid_param_type_init(self):

    args = [['var1', 'foo', 'var2', 'bar'], 'Template    var1    string    var2']
    ex = self.assertRaises(TypeError, cfn_functions.Replace, None, 'Fn::Replace', args)
    self.assertIn('parameters    must    be    a    mapping', six.text_type(ex))
