public override bool Equals(object obj)
{
if (obj == null)
return false;
if (!(obj is Atom))
return false;
var atom = (Atom)obj;
return this.name.Equals(atom.name);
}
public void Equals() { Atom atom1 = new Atom("a"); Atom atom2 = new Atom("b"); Atom atom3 = new Atom("a"); Assert.IsTrue(atom1.Equals(atom3)); Assert.IsTrue(atom3.Equals(atom1)); Assert.AreEqual(atom1.GetHashCode(), atom3.GetHashCode()); Assert.IsFalse(atom1.Equals(null)); Assert.IsFalse(atom1.Equals(123)); Assert.IsFalse(atom1.Equals("foo")); Assert.IsFalse(atom1.Equals(atom2)); Assert.IsFalse(atom2.Equals(atom1)); }