public void SicCodeSearchModel_Equals_Returns_True_When_Compared_With_Itself()
        {
            var sicCodeSearchModelInstance = new SicCodeSearchModel {
                SicCodeId = "999", SicCodeDescription = "Some description"
            };

            Assert.True(sicCodeSearchModelInstance.Equals((object)sicCodeSearchModelInstance));
        }
        public void SicCodeSearchModel_Equals_Returns_False_When_Object_Is_Null()
        {
            var sicCodeSearchModelInstance = new SicCodeSearchModel {
                SicCodeId = "999", SicCodeDescription = "Some description"
            };
            var differentTypeObjectThatIsNull = (int?)null;

            Assert.False(sicCodeSearchModelInstance.Equals(differentTypeObjectThatIsNull));
        }
        public void SicCodeSearchModel_Equals_Returns_False_When_Types_Are_Different()
        {
            var sicCodeSearchModelInstance = new SicCodeSearchModel {
                SicCodeId = "121", SicCodeDescription = "Some description"
            };
            var differentTypeObject = "IAmAnStringObject";

            Assert.False(sicCodeSearchModelInstance.Equals(differentTypeObject));
        }
        public void SicCodeSearchModel_Equals_Returns_True_When_SicCodeIds_Are_Equal()
        {
            var sicCodeSearchModelLeft = new SicCodeSearchModel {
                SicCodeId = "425", SicCodeDescription = "Some description"
            };
            var sicCodeSearchModelRight = new SicCodeSearchModel {
                SicCodeId = "425", SicCodeDescription = "No description"
            };

            Assert.True(sicCodeSearchModelLeft.Equals((object)sicCodeSearchModelRight));
        }
        public void SicCodeSearchModel_Equals_Returns_False_When_SicCodeIds_Are_Different()
        {
            var sicCodeSearchModelSameDescriptionLeft = new SicCodeSearchModel {
                SicCodeId = "4", SicCodeDescription = "Same description"
            };
            var sicCodeSearchModelSameDescriptionRight = new SicCodeSearchModel {
                SicCodeId = "6", SicCodeDescription = "Same description"
            };

            Assert.False(sicCodeSearchModelSameDescriptionLeft.Equals((object)sicCodeSearchModelSameDescriptionRight));
        }
        public void SicCodeSearchModel_Reference_Equality_Same_Instance()
        {
            SicCodeSearchModel sicCodeSearchModelA = _testSicCodeSearchModel;
            SicCodeSearchModel sicCodeSearchModelB = sicCodeSearchModelA;

            // Well, of course, it's the same exact object
            Assert.True(sicCodeSearchModelA == sicCodeSearchModelB);      // TRUE
            Assert.True(sicCodeSearchModelA.Equals(sicCodeSearchModelB)); // TRUE

            // To avoid using == we'll use the reference equality method available in 'Object'
            Assert.True(ReferenceEquals(sicCodeSearchModelA, sicCodeSearchModelB));
        }
        public void SicCodeSearchModel_Equals_Should_Check_For_Null()
        {
            var sicCodeSearchModelInstance = new SicCodeSearchModel {
                SicCodeId = "456", SicCodeDescription = "Some description"
            };
            SicCodeSearchModel nullSicCodeSearchModel = null;

            Assert.False(sicCodeSearchModelInstance == nullSicCodeSearchModel);      // FALSE
            Assert.False(sicCodeSearchModelInstance.Equals(nullSicCodeSearchModel)); // FALSE

            // To avoid using == we'll use the reference equality method available in 'Object'
            Assert.False(ReferenceEquals(sicCodeSearchModelInstance, nullSicCodeSearchModel));
        }
        public void SicCodeSearchModel_Reference_Equality_Different_Instances()
        {
            var sicCodeSearchModelC = new SicCodeSearchModel {
                SicCodeId = "123", SicCodeDescription = "Some description 1"
            };
            var sicCodeSearchModelD = new SicCodeSearchModel {
                SicCodeId = "123", SicCodeDescription = "Some description 2"
            };

            Assert.False(
                ReferenceEquals(sicCodeSearchModelC, sicCodeSearchModelD),
                "These two objects should have been different instances (their object references should have been different)");

            // Equality checks fail because these are two different objects
            // But these are the *same* SicCodeSearchModels as far as we're concerned
            Assert.True(sicCodeSearchModelC == sicCodeSearchModelD);
            Assert.True(sicCodeSearchModelC.Equals(sicCodeSearchModelD));
        }