Como esse teste pode falhar?
[TestMethod]
public void Get_Code()
{
var expected = new List<int>();
expected.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 });
var actual = new List<int>();
actual.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 });
Assert.AreEqual(expected, actual);
// Assert.AreSame(expected, actual) fails
// Assert.IsTrue(expected.Equals(actual)) fails
}
c#
visual-studio-2010
unit-testing
mstest
Ray Cheng
fonte
fonte
CollectionAssert.AreEquivalent
em vez msdn.microsoft.com/en-us/library/ms243779.aspxCollectionAssert.AreEqual
pode ser visivelmente mais lento que o #Assert.IsTrue...SequenceEqual
Eu acho que isso vai ajudar
fonte
Se você deseja verificar se cada um contém a mesma coleção de valores, use:
Editar:
fonte
Tentei as outras respostas neste segmento, e elas não funcionaram para mim e eu estava comparando coleções de objetos que tinham os mesmos valores armazenados em suas propriedades, mas os objetos eram diferentes.
Chamada de método:
Método para comparações:
fonte
Equals
método eCollectionAssert
isso funcionará.esse teste compara uma entrada de data, verifica se é um ano bissexto; nesse caso, gera 20 anos bissextos a partir da data inserida; caso contrário, gera os próximos 20 anos bissextos, myTest.Testing refere-se à instância myTest que, por sua vez, chama os valores de uma lista chamada Teste contendo os valores calculados necessários. parte de um exercício que eu tive que fazer.
fonte
//Aja
//Afirmar
fonte
Asserções fluentes fazem comparações profundas de matrizes
actualArray.Should().BeEquivalentTo(expectedArray)
fonte