ejemplos - c# unit test assert examples
Diferencia entre Assert.AreEqual y Assert.AreSame? (2)
¿Cuál es la diferencia entre Assert.AreEqual y Assert.AreSame ?
Significa que AreSame () comprueba que son exactamente el mismo objeto, si la referencia indica el mismo objeto en la memoria.
AreEqual () verifica que los objetos tengan igual tipo y valor. Objetos iguales pueden existir en dos lugares diferentes en la memoria.
Assert.AreEqual(a, b)
es lo mismo que Assert.IsTrue(Object.Equals(a, b))
Assert.AreSame(a, b)
es lo mismo que Assert.IsTrue(Object.ReferenceEquals(a, b))
(la única razón por la que lo supe es que me lo imaginé hace unas horas porque necesitaba hacer un Assert.IsTrue(Object.ReferenceEquals(a,b))
y pensé "Me pregunto si hay una mejor manera de hacerlo esta")