public static void Concat_String(string[] values, string expected)
{
Action<string> validate = result =>
{
Assert.Equal(expected, result);
if (result.Length == 0)
{
Assert.Same(string.Empty, result);
}
};
if (values.Length == 2)
{
validate(string.Concat(values[0], values[1]));
}
else if (values.Length == 3)
{
validate(string.Concat(values[0], values[1], values[2]));
}
else if (values.Length == 4)
{
validate(string.Concat(values[0], values[1], values[2], values[3]));
}
validate(string.Concat(values));
validate(string.Concat((IEnumerable<string>)values));
validate(string.Concat<string>((IEnumerable<string>)values)); // Call the generic IEnumerable<T>-based overload
}