Quelle est la différence entre Assert.AreEqual et Assert.AreSame?
Cela signifie que AreSame () vérifie qu'ils sont exactement le même objet - si la référence indique le même objet en mémoire.
AreEqual () vérifie que les objets ont un type et une valeur égaux. Des objets égaux peuvent exister à deux endroits différents de la mémoire.
Assert.AreEqual(a, b)
est identique à Assert.IsTrue(Object.Equals(a, b))
Assert.AreSame(a, b)
est identique à Assert.IsTrue(Object.ReferenceEquals(a, b))
(la seule raison pour laquelle je le savais est que je l'ai moi-même découvert il y a quelques heures aujourd'hui parce que j'avais besoin de faire une Assert.IsTrue(Object.ReferenceEquals(a,b))
et j'ai pensé "Je me demande s'il y a une meilleure façon de le faire") )