mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 19:03:29 +08:00
- 移除 EnumerableExtensions 扩展类及其 Map、Filter、Reduce 方法 - 从 ControlExtensions 中删除 Match、MatchOrDefault、If、IfElse 等控制流方法 - 重命名 FunctionExtensions 中的 Memoize 为 MemoizeUnbounded 并更新文档注释 - 重命名 FunctionExtensions 中的 Partial 相关方法并调整参数命名 - 在 PipeExtensions 中移除 Pipe、Then、After、Let 等方法,保留 Also 方法 - 删除多个功能性类型扩展文件,包括 Option、Result、NullableExtensions 等 - 移除功能扩展的 README.md 文档文件 - 更新相关命名空间引用和依赖关系 - [release ci]
75 lines
1.8 KiB
C#
75 lines
1.8 KiB
C#
using GFramework.Core.functional.control;
|
||
using NUnit.Framework;
|
||
|
||
namespace GFramework.Core.Tests.functional.control;
|
||
|
||
/// <summary>
|
||
/// ControlExtensions扩展方法测试类,用于验证控制流函数式编程扩展方法的正确性
|
||
/// </summary>
|
||
[TestFixture]
|
||
public class ControlExtensionsTests
|
||
{
|
||
/// <summary>
|
||
/// 测试TakeIf方法 - 验证条件为真时返回原值
|
||
/// </summary>
|
||
[Test]
|
||
public void TakeIf_Should_Return_Value_When_Condition_Is_True()
|
||
{
|
||
// Arrange
|
||
string str = "Hello";
|
||
|
||
// Act
|
||
var result = str.TakeIf(s => s.Length > 3);
|
||
|
||
// Assert
|
||
Assert.That(result, Is.EqualTo("Hello"));
|
||
}
|
||
|
||
/// <summary>
|
||
/// 测试TakeIf方法 - 验证条件为假时返回null
|
||
/// </summary>
|
||
[Test]
|
||
public void TakeIf_Should_Return_Null_When_Condition_Is_False()
|
||
{
|
||
// Arrange
|
||
string str = "Hi";
|
||
|
||
// Act
|
||
var result = str.TakeIf(s => s.Length > 3);
|
||
|
||
// Assert
|
||
Assert.That(result, Is.Null);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 测试TakeUnless方法 - 验证条件为假时返回原值
|
||
/// </summary>
|
||
[Test]
|
||
public void TakeUnless_Should_Return_Value_When_Condition_Is_False()
|
||
{
|
||
// Arrange
|
||
string str = "Hi";
|
||
|
||
// Act
|
||
var result = str.TakeUnless(s => s.Length > 3);
|
||
|
||
// Assert
|
||
Assert.That(result, Is.EqualTo("Hi"));
|
||
}
|
||
|
||
/// <summary>
|
||
/// 测试TakeUnless方法 - 验证条件为真时返回null
|
||
/// </summary>
|
||
[Test]
|
||
public void TakeUnless_Should_Return_Null_When_Condition_Is_True()
|
||
{
|
||
// Arrange
|
||
string str = "Hello";
|
||
|
||
// Act
|
||
var result = str.TakeUnless(s => s.Length > 3);
|
||
|
||
// Assert
|
||
Assert.That(result, Is.Null);
|
||
}
|
||
} |