Qual é a maneira idiomática de verificar o tamanho da coleção no xUnit?

Eu tenho na minha suíte de testes um teste que é algo como isto:

[Fact]
public void VerifySomeStuff()
{
    var stuffCollection = GetSomeStuff();

    Assert.Equal(1, stuffCollection.Count());
}

Este teste funciona como eu esperava, mas quando o executo, o xUnit imprime um aviso:

aviso xUnit2013: Não use Assert.Equal () para verificar o tamanho da coleção.

No entanto, nenhuma alternativa é sugerida no aviso, e uma pesquisa no google me leva ao código-fonte no xUnit para o teste que verifica se esse aviso é impresso.

E seAssert.Equal() não é a maneira correta de verificar o comprimento de uma coleção, o que é?

Para esclarecer: percebo que poderia "enganar" o xUnit para não emitir esse aviso por ex. extraindo uma variável ou usandoAssert.True(stuff.Count() == 1) em vez de. O último é apenas hacky, e o primeiro parece que o xUnit é, por exemplo. tentando evitar várias iterações de umIEnumerable<T>, então este é o caminho errado a seguir (porque receberei dicas do compilador separadamente, se houver algum problema), e o xUnit nunca deve avaliar a entrada mais de uma vez (na verdade, provavelmente obterá a mesma entrada independentemente da extração de variável, devido ao funcionamento da chamada de função C #).

Portanto, não estou interessado apenas em remover esse aviso da minha saída. Uma resposta para minha pergunta também explicaporque esse aviso está incluído na biblioteca em primeiro lugar eporque qualquer abordagem que eu deva usar é melhor.

questionAnswers(3)

yourAnswerToTheQuestion