相关疑难解决方法(0)

在IEqualityComparer中包装委托

几个Linq.Enumerable函数需要一个IEqualityComparer<T>.是否有一个方便的包装类适应delegate(T,T)=>bool实现IEqualityComparer<T>?编写一个很容易(如果你忽略了定义正确的哈希码的问题),但我想知道是否有开箱即用的解决方案.

具体来说,我想对Dictionarys 进行集合操作,仅使用Keys来定义成员资格(同时根据不同的规则保留值).

.net linq delegates

125
推荐指数
7
解决办法
4万
查看次数

如何在xunit.net中测试两个对象是否相等?

我正在阅读测试驱动开发:通过示例.所有示例都使用Java和Junit(我在第10章).有一种测试方法可以测试两个对象的相等性.我已经覆盖了类的等于但是在运行我的测试时它失败了.

这是示例代码

public class BaseX
{
    public string Test { get; set; }

    public override bool Equals(object obj)
    {
        return this.Test == ((BaseX)obj).Test;
    }

    public override string ToString()
    {
        return string.Format("Tyep: {0}, Test: {1}", this.GetType().Name, this.Test);
    }
}

public class A : BaseX
{

}
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码

[Fact]
public void FunTest2()
{
    var b1 = new BaseX();
    var a1 = new A();

    b1.Test = "a";
    a1.Test = "a";

    Assert.Equal(a1, b1);
}
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,它将失败并显示此消息.

TDD1.UnitTest.UnitTest1.FunTest2 : Assert.Equal() Failure
Expected: Tyep: A, …
Run Code Online (Sandbox Code Playgroud)

unit-testing xunit.net

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

delegates ×1

linq ×1

unit-testing ×1

xunit.net ×1