master
bicijinlian 6 years ago
parent 5ed8744464
commit ac154ff752

@ -13,6 +13,7 @@ namespace LinqStudy.Test.LinqToObject
/// </summary> /// </summary>
public class CreateTest public class CreateTest
{ {
#region Empty
/// <summary> /// <summary>
/// Empty 返回指定类型的空集,没有任何元素的集合。 /// Empty 返回指定类型的空集,没有任何元素的集合。
/// Enumerable的静态方法常用来做初始种子集合。 /// Enumerable的静态方法常用来做初始种子集合。
@ -37,6 +38,9 @@ namespace LinqStudy.Test.LinqToObject
Assert.IsType<Person[]>(ini); Assert.IsType<Person[]>(ini);
Assert.Empty(ini); Assert.Empty(ini);
} }
#endregion
#region DefaultIfEmpty
/// <summary> /// <summary>
/// DefaultIfEmpty /// DefaultIfEmpty
@ -50,6 +54,7 @@ namespace LinqStudy.Test.LinqToObject
Assert.Single(defaultValue); Assert.Single(defaultValue);
Assert.Equal(default(int), defaultValue.First()); Assert.Equal(default(int), defaultValue.First());
} }
/// <summary> /// <summary>
/// 数据源为Null时抛出异常。 /// 数据源为Null时抛出异常。
/// </summary> /// </summary>
@ -61,6 +66,9 @@ namespace LinqStudy.Test.LinqToObject
Assert.Single(defaultValue); Assert.Single(defaultValue);
Assert.Equal(default(Person), defaultValue.First()); Assert.Equal(default(Person), defaultValue.First());
} }
#endregion
#region Range
/// <summary> /// <summary>
/// Range生成指定范围的整数序列 /// Range生成指定范围的整数序列
@ -86,7 +94,8 @@ namespace LinqStudy.Test.LinqToObject
//生成100项值均为"test@163.com"的字符串序列 //生成100项值均为"test@163.com"的字符串序列
var values = Enumerable.Repeat("test@163.com", 100); var values = Enumerable.Repeat("test@163.com", 100);
Array.ForEach(values.ToArray(), (emai) => { Array.ForEach(values.ToArray(), (emai) =>
{
Assert.Equal("test@163.com", emai); Assert.Equal("test@163.com", emai);
}); });
} }
@ -98,8 +107,8 @@ namespace LinqStudy.Test.LinqToObject
public void Repeat_TestData_Test() public void Repeat_TestData_Test()
{ {
//生成测试数据生成了有100项的一个序列这100项均是对同一个对象的引用而不是100个对象。 //生成测试数据生成了有100项的一个序列这100项均是对同一个对象的引用而不是100个对象。
Random rdm = new Random(DateTime.Now.Ticks.GetHashCode()); Random rdm = new Random(DateTime.Now.Ticks.GetHashCode());
//虽然生成时用了随机数但是因对象只生成了一次其它均是这个对象的浅拷贝所以100个对象完全相同100个对同一对象的引用。 //虽然生成时用了随机数但是因对象只生成了一次其它均是这个对象的浅拷贝所以100个对象完全相同100个对同一对象的引用。
var persons = Enumerable.Repeat(new Person() var persons = Enumerable.Repeat(new Person()
{ {
@ -117,6 +126,10 @@ namespace LinqStudy.Test.LinqToObject
}); });
} }
#endregion
#region SequenceEqual
/// <summary> /// <summary>
/// SequenceEqual: 比较源和目标序列返回一个bool值指示所含元素是否相同。 /// SequenceEqual: 比较源和目标序列返回一个bool值指示所含元素是否相同。
/// </summary> /// </summary>
@ -126,7 +139,6 @@ namespace LinqStudy.Test.LinqToObject
Person p = new Person() { Id = 1, Name = "王小明", Age = 20 }; Person p = new Person() { Id = 1, Name = "王小明", Age = 20 };
var s1 = Enumerable.Repeat(p, 100); var s1 = Enumerable.Repeat(p, 100);
var s2 = Enumerable.Repeat(p, 100); var s2 = Enumerable.Repeat(p, 100);
Assert.True(s1.SequenceEqual(s2)); Assert.True(s1.SequenceEqual(s2));
@ -143,5 +155,6 @@ namespace LinqStudy.Test.LinqToObject
Assert.False(s1.SequenceEqual(s2)); Assert.False(s1.SequenceEqual(s2));
} }
#endregion
} }
} }

@ -128,6 +128,7 @@ namespace LinqStudy.Test.LinqToObject
Assert.Equal(expected,actual); Assert.Equal(expected,actual);
} }
/// <summary> /// <summary>
/// 重载4keySelector elementSelector comparer /// 重载4keySelector elementSelector comparer
/// </summary> /// </summary>

@ -16,6 +16,8 @@ namespace LinqStudy.Test.LinqToObject
/// </summary> /// </summary>
public class ProjectiveTest public class ProjectiveTest
{ {
#region Select
/// <summary> /// <summary>
/// Select投影简单投影一对一 /// Select投影简单投影一对一
/// </summary> /// </summary>
@ -31,6 +33,7 @@ namespace LinqStudy.Test.LinqToObject
// Assert // Assert
Assert.IsType<List<int>>(maps); Assert.IsType<List<int>>(maps);
} }
/// <summary> /// <summary>
/// 投影为匿名类 /// 投影为匿名类
/// </summary> /// </summary>
@ -61,6 +64,9 @@ namespace LinqStudy.Test.LinqToObject
Assert.IsType<List<KeyValuePair<int, Person>>>(maps); Assert.IsType<List<KeyValuePair<int, Person>>>(maps);
Assert.Equal(0, indexs[0]); Assert.Equal(0, indexs[0]);
} }
#endregion
#region SelectMany
/// <summary> /// <summary>
/// 将序列的每个元素投影到 IEnumerable<TResult> 并将结果序列合并为一个序列。 /// 将序列的每个元素投影到 IEnumerable<TResult> 并将结果序列合并为一个序列。
@ -175,26 +181,6 @@ namespace LinqStudy.Test.LinqToObject
Assert.Equal(5, maps.Count); Assert.Equal(5, maps.Count);
} }
#endregion
[Fact]
public void Test()
{
var cc= DocDemo("");
}
/// <summary>
/// Doc示例
/// </summary>
/// <param name="aa">参数</param>
/// <exception cref="ArgumentNullException">
/// ArgumentNullException
/// </exception>
/// <example>DecDemo("dsfsadf")</example>
/// <seealso cref="SortedDictionary{TKey, TValue}"/>
/// <returns>参数+“-”</returns>
private string DocDemo(string aa)
{
return aa + "-";
}
} }
} }

@ -14,6 +14,7 @@ namespace LinqStudy.Test.LinqToObject
/// </summary> /// </summary>
public class SequenceEqualTest public class SequenceEqualTest
{ {
#region SequenceEqual
/// <summary> /// <summary>
/// SequenceEqual /// SequenceEqual
/// 序列相等比较:所含项数量相同、内容相同、位置相同、引用类型则引用相同的对象,则两个序列相等。 /// 序列相等比较:所含项数量相同、内容相同、位置相同、引用类型则引用相同的对象,则两个序列相等。
@ -60,7 +61,6 @@ namespace LinqStudy.Test.LinqToObject
[Fact] [Fact]
public void SequenceEqual_ValueType_Test() public void SequenceEqual_ValueType_Test()
{ {
List<int> sequence1 = new List<int>() { 1, 2, 3 }; List<int> sequence1 = new List<int>() { 1, 2, 3 };
List<int> sequence2 = new List<int>() { 1, 2, 3 }; List<int> sequence2 = new List<int>() { 1, 2, 3 };
@ -194,5 +194,6 @@ namespace LinqStudy.Test.LinqToObject
Assert.True(sequence1.SequenceEqual(sequence2, new PersonEqualityComparer())); Assert.True(sequence1.SequenceEqual(sequence2, new PersonEqualityComparer()));
} }
#endregion
} }
} }

@ -13,6 +13,8 @@ namespace LinqStudy.Test.LinqToObject
/// </summary> /// </summary>
public class WhereTest public class WhereTest
{ {
#region Where
/// <summary> /// <summary>
/// where过滤查询条件 /// where过滤查询条件
/// </summary> /// </summary>
@ -43,5 +45,6 @@ namespace LinqStudy.Test.LinqToObject
Assert.Throws<ArgumentNullException>(act); Assert.Throws<ArgumentNullException>(act);
} }
#endregion
} }
} }

@ -76,6 +76,5 @@ namespace LinqStudy.Test.Other
Employees[idx] = value; Employees[idx] = value;
} }
} }
} }
} }

Loading…
Cancel
Save