public void GetPairWithMaximumDifference_ThrowsException_ForNullSequence()
 {
     Assert.Throws <ArgumentNullException>(
         () => Pairing.GetPairWithMaximumDifference(null, Comparer <int> .Default));
 }
        public void GetPairWithMaximumDifference_WorksForNegative()
        {
            var result = Pairing.GetPairWithMaximumDifference(new[] { 0, -100, 100 }, Comparer <int> .Default);

            Assert.AreEqual((-100, 100), result);
        }
 public void GetPairWithMaximumDifference_ThrowsException_ForNullComparer()
 {
     Assert.Throws <ArgumentNullException>(
         () => Pairing.GetPairWithMaximumDifference(new int[] { }, null));
 }
        public void GetPairWithMaximumDifference_TakesComparerIntoAccount()
        {
            var result = Pairing.GetPairWithMaximumDifference(new[] { -1, 0, 1 }, Comparer <int> .Create((l, r) => r - l));

            Assert.AreEqual((1, -1), result);
        }
        public void GetPairWithMaximumDifference_ReturnsThePair_ForTwoElements_2()
        {
            var result = Pairing.GetPairWithMaximumDifference(new[] { 2, 1 }, Comparer <int> .Default);

            Assert.AreEqual((1, 2), result);
        }
        public void GetPairWithMaximumDifference_ReturnsNull_ForOneElement()
        {
            var result = Pairing.GetPairWithMaximumDifference(new[] { 1 }, Comparer <int> .Default);

            Assert.IsNull(result);
        }
        public void GetPairWithMaximumDifference_ReturnsNull_ForEmptySequence()
        {
            var result = Pairing.GetPairWithMaximumDifference(new int[] { }, Comparer <int> .Default);

            Assert.IsNull(result);
        }