public void GetHashCodeForValidObjectReturnsObjectHashCode()
        {
            var sut   = new GenericEqualityComparer <Model>();
            var model = new Model();

            Assert.Equal(model.GetHashCode(), sut.GetHashCode(model));
        }
        public void EqualsWithEnumerableSubModelsReturnsExpectedResult(
            IEnumerable <SubModel> x, IEnumerable <SubModel> y, bool expected)
        {
            var sut = new GenericEqualityComparer <IEnumerable <SubModel> >();

            Assert.Equal(expected, sut.Equals(x, y));
        }
        public void GetHashCodeForNullObjectReturnsZero()
        {
            var sut = new GenericEqualityComparer <Model>();

            Assert.Equal(0, sut.GetHashCode(null));
        }
        public void EqualsWithSubModelsReturnsExpectedResult(SubModel x, SubModel y, bool expected)
        {
            var sut = new GenericEqualityComparer <SubModel>();

            Assert.Equal(expected, sut.Equals(x, y));
        }
        public void EqualsWithStringsReturnsExpectedResult(string x, string y, bool expected)
        {
            var sut = new GenericEqualityComparer <string>();

            Assert.Equal(expected, sut.Equals(x, y));
        }
        public void EqualsWithListsReturnsExpectedResult(List <int> x, List <int> y, bool expected)
        {
            var sut = new GenericEqualityComparer <List <int> >();

            Assert.Equal(expected, sut.Equals(x, y));
        }
        public void EqualsWithIntsReturnsExpectedResult(int x, int y, bool expected)
        {
            var sut = new GenericEqualityComparer <int>();

            Assert.Equal(expected, sut.Equals(x, y));
        }
        public void EqualsWithEnumsReturnsExpectedResult(Enum x, Enum y, bool expected)
        {
            var sut = new GenericEqualityComparer <Enum>();

            Assert.Equal(expected, sut.Equals(x, y));
        }