public void TestIsEqual() { var attribute1 = new XAttribute(ATTR_NAME_1, String.Empty); var attribute2 = new XAttribute(ATTR_NAME_2, String.Empty); var attribute3 = new XAttribute(attribute1); Assert.IsTrue(attribute1.IsEqual(attribute1)); Assert.IsTrue(attribute1.IsEqual(new XAttribute(ATTR_NAME_1, String.Empty))); Assert.IsFalse(attribute1.IsEqual(attribute2)); Assert.IsTrue(attribute1.IsEqual(attribute3)); Assert.IsTrue(attribute3.IsEqual(attribute1)); attribute1.Value = UnitTestHelper.SAMPLE_STRING; attribute2.Value = UnitTestHelper.SAMPLE_STRING; Assert.IsTrue(attribute1.IsEqual(attribute1)); Assert.IsFalse(attribute1.IsEqual(new XAttribute(ATTR_NAME_1, String.Empty))); Assert.IsTrue(attribute1.IsEqual(new XAttribute(ATTR_NAME_1, UnitTestHelper.SAMPLE_STRING))); Assert.IsTrue(attribute2.IsEqual(new XAttribute(ATTR_NAME_2, UnitTestHelper.SAMPLE_STRING))); Assert.IsFalse(attribute1.IsEqual(attribute2)); Assert.IsFalse(attribute1.IsEqual(attribute3)); attribute3.Value = UnitTestHelper.SAMPLE_STRING; Assert.IsTrue(attribute1.IsEqual(attribute3)); attribute3.Value = " " + UnitTestHelper.SAMPLE_STRING + " "; Assert.IsFalse(attribute1.IsEqual(attribute3)); Assert.IsFalse(attribute3.IsEqual(attribute1)); // Checks attribute name case-sensitivity. var attribute4 = new XAttribute(ATTR_NAME_1, "test"); var attribute5 = new XAttribute(ATTR_NAME_1, "Test"); Assert.IsFalse(attribute4.IsEqual(attribute5)); }