FSharpList утверждений с NFluent? - PullRequest
0 голосов
/ 01 марта 2020

Я прочитал в nfluent документации , что вы можете утверждать списки следующим образом:

var inteers = new int[] { 1, 2, 3, 4, 5, 666 };
Check.That(integers).Contains(3, 5, 666);

Но когда я пытаюсь это сделать в F #, я не могу заставить его работать:

let myList : int list = [1;2;3]
Check.That(events).Contains(1, 2, 3)

Здесь отображается сообщение об ошибке:

enter image description here

Как мне получить список утверждений для работы в F #?

Обновление

В моем фактическом коде функция F # возвращает FSharpList, и я не хочу менять это, поэтому я не могу просто изменить тип, например, на seq.

1 Ответ

1 голос
/ 01 марта 2020

F # не выполняет неявное приведение типа C#. Ожидается, что подпись метода имеет IEnumerable, но вы предоставляете список. Вот что говорит ошибка. Самым простым решением было бы создать последовательность, аналогичную IEnumerable в C#:

let myList : int list = [1;2;3]
let mySeq = list |> Seq.ofList
Check.That(mySeq).Contains(1, 2, 3)
...