Это происходит из-за того, что глубоко в логике сравнения коллекций Fluent Assertion использует следующий код
for (int index = 0; index < expectedItems.Length; index++)
{
verification.ForCondition((index < actualItems.Length) && actualItems[index].Equals(expectedItems[index]))
.FailWith("Expected " + Verification.SubjectNameOr("collection") +
" to be equal to {0}{reason}, but {1} differs at index {2}.", expected, Subject, index);
}
в приведенном выше коде expectedItems
и actualItems
ваши списки
Теперь подумайте, что произойдет во время второй итерации, когда (часть ниже) будет выполнена?
actualItems[index].Equals(expectedItems[index])
, так как actualItems[1]
равно null
, поэтому выдается исключение нулевой ссылки