public void TestTrendingCalculatorCustomCriteria_ShouldRunSuccessfully_Suite2()
        {
            var trendingStrategy = new CustomTrendingCalculator();
            var inputData        = DataPreparator.PrepareData_Suite2();
            var output           = trendingStrategy.CalculateTrending <TestInputModel>(6, 1, inputData);

            Assert.AreEqual("ABC", output.First().First().item.MovieName);
            Assert.AreEqual("PQR", output[1][1].item.MovieName);
        }
        public void TrendsCalculatorTest_ZMeanCriteria_ShouldRunSuccessfully_Suite2()
        {
            var trendingCalculator = new Library.TrendsCalculator();
            var inputData          = DataPreparator.PrepareData_Suite2();
            var output             = trendingCalculator.FindTrendingData(6, 1, inputData, TrendCalculationStrategy.ZMean);

            Assert.AreEqual("ABC", output.First().MovieName);
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => output.ToList()[1]);
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => output.ToList()[2]);
        }
        public void TrendsCalculatorTest_CustomCriteria_ShouldRunSuccessfully_Suite2()
        {
            var trendingCalculator = new Library.TrendsCalculator();
            var inputData          = DataPreparator.PrepareData_Suite2();
            var output             = trendingCalculator.FindTrendingData(6, 1, inputData, TrendCalculationStrategy.Custom);

            Assert.AreEqual("ABC", output.First().MovieName);
            Assert.AreEqual("XYZ", output.ToList()[1].MovieName);
            Assert.AreEqual("PQR", output.ToList()[2].MovieName);
        }