public void TestReturnsRightResultWhenAllNumbersAreNegative2()
        {
            var maxProductCalculator = new MaxProductCalculator(new ArraysInitializer(), numberOfElementsInProduct: 3);
            var arr = new[] { -11, -4, -20, -8 };

            Assert.AreEqual(this.BruteforceTheAnswer(arr), maxProductCalculator.FindMaxProduct(arr));
        }
        public void TestReturnsRightResultOnRandomlyGeneratedInput2()
        {
            var maxProductCalculator = new MaxProductCalculator(new ArraysInitializer(), numberOfElementsInProduct: 3);
            var gen = Arb.Generate <int[]>().Where(xs => xs.Count() >= 5);
            var arb = Arb.From(gen);

            Prop.ForAll(arb, xs => this.RunWithStopwatch(maxProductCalculator.FindMaxProduct, xs) == this.RunWithStopwatch(CalcWithInterviewCakeSolution, xs)).QuickCheck();
        }