mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 03:04:29 +08:00
- 将原有的PipeExtensionsTests拆分为多个专门的测试类 - 创建ControlExtensionsTests用于控制流函数测试 - 创建EnumerableExtensionsTests用于集合操作函数测试 - 创建FunctionExtensionsTests用于高级函数操作测试 - 移除旧的综合测试文件中的多余测试方法 - 更新文档结构以反映新的模块化组织方式 - 重新整理README.md文档为模块化分类说明
72 lines
1.8 KiB
C#
72 lines
1.8 KiB
C#
using GFramework.Core.functional.collections;
|
||
using NUnit.Framework;
|
||
|
||
namespace GFramework.Core.Tests.functional.collections;
|
||
|
||
/// <summary>
|
||
/// EnumerableExtensions扩展方法测试类,用于验证集合函数式编程扩展方法的正确性
|
||
/// 包括Map、Filter、Reduce等集合操作功能的测试
|
||
/// </summary>
|
||
[TestFixture]
|
||
public class EnumerableExtensionsTests
|
||
{
|
||
#region Map Tests
|
||
|
||
/// <summary>
|
||
/// 测试Map方法 - 验证集合中的每个元素都能被正确转换
|
||
/// </summary>
|
||
[Test]
|
||
public void Map_Should_Transform_Each_Element_In_Collection()
|
||
{
|
||
// Arrange
|
||
var numbers = new[] {1, 2, 3, 4};
|
||
|
||
// Act
|
||
var result = numbers.Map(x => x * x).ToArray();
|
||
|
||
// Assert
|
||
Assert.That(result, Is.EquivalentTo([1, 4, 9, 16]));
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Filter Tests
|
||
|
||
/// <summary>
|
||
/// 测试Filter方法 - 验证集合能够根据条件正确过滤
|
||
/// </summary>
|
||
[Test]
|
||
public void Filter_Should_Filter_Elements_Based_On_Predicate()
|
||
{
|
||
// Arrange
|
||
var numbers = new[] {1, 2, 3, 4, 5, 6};
|
||
|
||
// Act
|
||
var result = numbers.Filter(x => x % 2 == 0).ToArray();
|
||
|
||
// Assert
|
||
Assert.That(result, Is.EquivalentTo([2, 4, 6]));
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Reduce Tests
|
||
|
||
/// <summary>
|
||
/// 测试Reduce方法 - 验证集合能够正确归约为单个值
|
||
/// </summary>
|
||
[Test]
|
||
public void Reduce_Should_Reduce_Collection_To_Single_Value()
|
||
{
|
||
// Arrange
|
||
var numbers = new[] {1, 2, 3, 4};
|
||
|
||
// Act
|
||
var result = numbers.Reduce(0, (acc, x) => acc + x);
|
||
|
||
// Assert
|
||
Assert.That(result, Is.EqualTo(10));
|
||
}
|
||
|
||
#endregion
|
||
} |