public void GetHashCodeShouldUseCustomMethodWithComparison()
        {
            // arrange
            var value = "test";
            var expected = 1;
            var target = new DynamicComparer<string>( ( s1, s2 ) => s1.CompareTo( s2 ), s => s == "test" ? 1 : s.GetHashCode() );

            // act
            var actual = target.GetHashCode( value );

            // assert
            Assert.Equal( expected, actual );
        }
        public void IEqualityComparerGetHashCodeShouldReturnExpectedResult()
        {
            // arrage
            var value = "test";
            var expected = 1;
            IEqualityComparer target = new DynamicComparer<string>( s => s == "test" ? 1 : s.GetHashCode() );

            // act
            var actual = target.GetHashCode( value );

            // assert
            Assert.Equal( expected, actual );
        }