mirror of
https://github.com/oliverbooth/X10D
synced 2024-11-09 23:25:43 +00:00
Append "Value" to AsArray/AsEnumerable, to reduce risk of LINQ collision
This commit is contained in:
parent
6d80ee7a6d
commit
f7f3ea71bb
@ -13,7 +13,7 @@ public class ArrayTests
|
|||||||
[DataRow(true)]
|
[DataRow(true)]
|
||||||
public void AsArrayShouldGiveLength1(object o)
|
public void AsArrayShouldGiveLength1(object o)
|
||||||
{
|
{
|
||||||
object[] array = o.AsArray()!;
|
object[] array = o.AsArrayValue()!;
|
||||||
Assert.IsNotNull(array);
|
Assert.IsNotNull(array);
|
||||||
Assert.IsTrue(array.Length == 1);
|
Assert.IsTrue(array.Length == 1);
|
||||||
}
|
}
|
||||||
@ -24,7 +24,7 @@ public class ArrayTests
|
|||||||
[DataRow(true)]
|
[DataRow(true)]
|
||||||
public void AsArrayShouldContainObject(object o)
|
public void AsArrayShouldContainObject(object o)
|
||||||
{
|
{
|
||||||
object[] array = o.AsArray()!;
|
object[] array = o.AsArrayValue()!;
|
||||||
Assert.IsNotNull(array);
|
Assert.IsNotNull(array);
|
||||||
Assert.AreEqual(o, array[0]);
|
Assert.AreEqual(o, array[0]);
|
||||||
}
|
}
|
||||||
|
@ -9,18 +9,18 @@ public class CoreTests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void AsArrayShouldBeLength1()
|
public void AsArrayShouldBeLength1()
|
||||||
{
|
{
|
||||||
Assert.AreEqual(1, 0.AsArray().Length);
|
Assert.AreEqual(1, 0.AsArrayValue().Length);
|
||||||
Assert.AreEqual(1, string.Empty.AsArray().Length);
|
Assert.AreEqual(1, string.Empty.AsArrayValue().Length);
|
||||||
Assert.AreEqual(1, true.AsArray().Length);
|
Assert.AreEqual(1, true.AsArrayValue().Length);
|
||||||
Assert.AreEqual(1, ((object?)null).AsArray().Length);
|
Assert.AreEqual(1, ((object?)null).AsArrayValue().Length);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void AsEnumerableShouldBeLength1()
|
public void AsEnumerableShouldBeLength1()
|
||||||
{
|
{
|
||||||
Assert.AreEqual(1, 0.AsEnumerable().Count());
|
Assert.AreEqual(1, 0.AsEnumerableValue().Count());
|
||||||
Assert.AreEqual(1, string.Empty.AsEnumerable().Count());
|
Assert.AreEqual(1, string.Empty.AsEnumerableValue().Count());
|
||||||
Assert.AreEqual(1, true.AsEnumerable().Count());
|
Assert.AreEqual(1, true.AsEnumerableValue().Count());
|
||||||
Assert.AreEqual(1, ((object?)null).AsEnumerable().Count());
|
Assert.AreEqual(1, ((object?)null).AsEnumerableValue().Count());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ public class EnumerableTests
|
|||||||
[DataRow(true)]
|
[DataRow(true)]
|
||||||
public void AsEnumerable_ShouldWrapElement_GivenValue(object o)
|
public void AsEnumerable_ShouldWrapElement_GivenValue(object o)
|
||||||
{
|
{
|
||||||
IEnumerable<object?> array = o.AsEnumerable().ToArray(); // prevent multiple enumeration of IEnumerable
|
IEnumerable<object?> array = o.AsEnumerableValue().ToArray(); // prevent multiple enumeration of IEnumerable
|
||||||
Assert.IsNotNull(array);
|
Assert.IsNotNull(array);
|
||||||
Assert.IsTrue(array.Count() == 1);
|
Assert.IsTrue(array.Count() == 1);
|
||||||
Assert.AreEqual(o, array.ElementAt(0));
|
Assert.AreEqual(o, array.ElementAt(0));
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
namespace X10D.Core;
|
namespace X10D.Core;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Extension methods which apply to all types.
|
/// Extension methods which apply to all types.
|
||||||
@ -9,11 +9,11 @@ public static class Extensions
|
|||||||
/// Returns an array containing the specified value.
|
/// Returns an array containing the specified value.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="value">The value to encapsulate.</param>
|
/// <param name="value">The value to encapsulate.</param>
|
||||||
/// <typeparam name="T">The value type.</typeparam>
|
/// <typeparam name="T">The type of <paramref name="value"/>.</typeparam>
|
||||||
/// <returns>
|
/// <returns>
|
||||||
/// An array of type <typeparamref name="T" /> with length 1, whose only element is <paramref name="value" />.
|
/// An array of type <typeparamref name="T" /> with length 1, whose only element is <paramref name="value" />.
|
||||||
/// </returns>
|
/// </returns>
|
||||||
public static T?[] AsArray<T>(this T? value)
|
public static T?[] AsArrayValue<T>(this T? value)
|
||||||
{
|
{
|
||||||
return new[] {value};
|
return new[] {value};
|
||||||
}
|
}
|
||||||
@ -22,11 +22,11 @@ public static class Extensions
|
|||||||
/// Returns an enumerable collection containing the specified value.
|
/// Returns an enumerable collection containing the specified value.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="value">The value to encapsulate.</param>
|
/// <param name="value">The value to encapsulate.</param>
|
||||||
/// <typeparam name="T">The value type.</typeparam>
|
/// <typeparam name="T">The type of <paramref name="value"/>.</typeparam>
|
||||||
/// <returns>
|
/// <returns>
|
||||||
/// An enumerable collection of type <typeparamref name="T" />, whose only element is <paramref name="value" />.
|
/// An enumerable collection of type <typeparamref name="T" />, whose only element is <paramref name="value" />.
|
||||||
/// </returns>
|
/// </returns>
|
||||||
public static IEnumerable<T?> AsEnumerable<T>(this T? value)
|
public static IEnumerable<T?> AsEnumerableValue<T>(this T? value)
|
||||||
{
|
{
|
||||||
yield return value;
|
yield return value;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user