我正在尝试编写自定义等式约束来比较 2 个对象。
open FsUnit
open NUnit.Framework.Constraints
type equalCompany(expected:Company) =
inherit Constraints.EqualConstraint(expected)
override this.ApplyTo (actual:Company option) =
//actual.IsSome |> should equal True
//actual.Value.Id |> should equal expected.Id
ConstraintResult(this, actual, true)
// example of usage:
actualCompany |> should equalCompany expectedCompany
它抱怨是因为 ApplyTo 实现匹配多个重载,我找不到正确的语法。
理想情况下,我喜欢与公司选项进行比较,但仍然只是公司很好。
涉及的类型如下:
type CompanyType =
| Bank
| Exchange
type Company = {
Id: string
Types: CompanyType list
}
并且我正在尝试编写我的等式约束,因为简单的现有equal不能与 Types 正常工作(列表,如果已排序,也总是不同)
如何正确覆盖ApplyTo函数?