public void CompareReturnNegativeOneWhenUsingComparisonMethodAndRightSideIsGreater()
 {
     var target = new DynamicComparer<string>( ( s1, s2 ) => s1.Length.CompareTo( s2.Length ) );
     Assert.Equal( -1, target.Compare( "short", "longer" ) );
 }
        public void IComparerCompareReturnZeroWhenUsingComparisonMethod()
        {
            IComparer t1 = new DynamicComparer<string>( ( s1, s2 ) => s1.CompareTo( s2 ) ); // ref type
            Assert.Equal( 0, t1.Compare( "test", "test" ) );

            IComparer t2 = new DynamicComparer<DateTime>( ( d1, d2 ) => d1.CompareTo( d2 ) ); // value type
            var date = new DateTime( 2013, 6, 27 );
            Assert.Equal( 0, t2.Compare( date, date ) );
        }