2009-09-23 15 views
17

Il seguente metodo non riesce:Come verificare che l'array previsto sia l'array effettivo in MSTest?

[TestMethod] 
public void VerifyArrays() 
{ 
    int[] actualArray = { 1, 3, 7 }; 
    Assert.AreEqual(new int[] { 1, 3, 7 }, actualArray); 
} 

Come faccio passare senza iterare sulla collezione?

+2

Perché hai posto una domanda solo per rispondere con 1 minuto di google? Perché postare la domanda? O è più di un PSA? –

+3

Public Service Announcement ... hmm ... Seguendo la guida di Jeff Atwood nel rendere SO il luogo canonico per domande e risposte. –

risposta

44

Microsoft ha fornito una classe di supporto CollectionAssert.

[TestMethod] 
public void VerifyArrays() 
{ 
    int[] actualArray = { 1, 3, 7 }; 
    CollectionAssert.AreEqual(new int[] { 1, 3, 7 }, actualArray); 
} 
2

È possibile utilizzare il metodo Enumerable.SequenceEqual().

[TestMethod] 
public void VerifyArrays() 
{ 
    int[] actualArray = { 1, 3, 7 }; 
    int[] expectedArray = { 1, 3, 7 }; 

    Assert.IsTrue(actualArray.SequenceEqual(expectedArray)); 
} 
Problemi correlati