public void Compare_SyncColumnIdentifier_When_Instances_Null_ShouldNotBe_Equals()
        {
            SyncColumnIdentifier columnId1 = null;
            SyncColumnIdentifier columnId2 = null;

            Assert.Throws <NullReferenceException>(() => columnId1.EqualsByName(columnId2));
        }
        public void Compare_SyncColumnIdentifier_When_Property_IsDifferent_ShouldNotBe_Equals()
        {
            var columnId1 = new SyncColumnIdentifier("CustomerId1", "Customer");
            var columnId2 = new SyncColumnIdentifier("CustomerId2", "Customer");

            var isNamedEquals = columnId1.EqualsByName(columnId2);

            Assert.False(isNamedEquals);
        }
        public void Compare_SyncColumnIdentifier_When_OneField_Empty_And_OtherField_Null_ShouldBe_Equals()
        {
            var columnId1 = new SyncColumnIdentifier("CustomerId", string.Empty);
            var columnId2 = new SyncColumnIdentifier("CustomerId", null, string.Empty);

            var isNamedEquals = columnId1.EqualsByName(columnId2);

            Assert.True(isNamedEquals);
            Assert.False(columnId1 == columnId2);
            Assert.Equal(columnId1, columnId2);
        }
        public void Compare_SyncColumnIdentifier_When_OtherInstance_Null_ShouldNotBe_Equals()
        {
            SyncColumnIdentifier columnId1 = new SyncColumnIdentifier("CustomerId", string.Empty);
            SyncColumnIdentifier columnId2 = null;

            var isNamedEquals = columnId1.EqualsByName(columnId2);

            Assert.False(isNamedEquals);
            Assert.False(columnId1 == columnId2);
            Assert.NotEqual(columnId1, columnId2);
        }
        public void Compare_SyncColumnIdentifier_When_Empty_ShouldBe_Equals()
        {
            var columnId1 = new SyncColumnIdentifier();
            var columnId2 = new SyncColumnIdentifier();

            var isNamedEquals = columnId1.EqualsByName(columnId2);

            // Check operator EqualsByName
            Assert.True(isNamedEquals);

            // Check operator == (who should make an equality on the references)
            Assert.False(columnId1 == columnId2);

            // Check default Equals which should use the EqualsByName as well
            Assert.Equal(columnId1, columnId2);
        }