public void CalculateSeriesTest()
 {
     double[] caloriesSeries   = ChartSeriesHelper.CalculateSeries(today.AddDays(-1), history, ReturnSeriesOf.CaloriesBurnt);
     double[] calsPerMinSeries = ChartSeriesHelper.CalculateSeries(today.AddDays(-1), history, ReturnSeriesOf.CaloriesPerMin);
     Assert.IsTrue(IsCalories(caloriesSeries));
     Assert.IsTrue(IsCalsPerMin(calsPerMinSeries));
 }
        public ActionResult Details(string id)
        {
            DateTime selectedDate;

            DateTime.TryParse(id, out selectedDate);
            if (string.IsNullOrEmpty(id) || selectedDate == null)
            {
                return(RedirectToAction("Days", "Days"));
            }

            List <History> history = GetAllHistory();

            ChartSeriesHelper.CalculateCalsBurntPerMinBetweenInputs(selectedDate, history);


            var model = history.Where(x => x.IsSameDate(selectedDate)).OrderByDescending(x => x.DateTime).ToList();

            // Calculate the time series
            ViewBag.TIME = ChartSeriesHelper.CalculateTimeSeries();
            // Calculate the selected date series
            ViewBag.CALS = ChartSeriesHelper.CalculateSeries(selectedDate, history, ReturnSeriesOf.CaloriesBurnt);
            // Calculate the same day of last week series
            ViewBag.LAST = ChartSeriesHelper.CalculateSeries(selectedDate.AddDays(-7), history, ReturnSeriesOf.CaloriesBurnt);
            // Calculate the average of this day series
            ViewBag.AVG = ChartSeriesHelper.CalculateAverageSeries(selectedDate, rangeInDays, history, ReturnSeriesOf.CaloriesBurnt);
            // Calculate the average calories per min series
            ViewBag.CPM = ChartSeriesHelper.CalculateSeries(selectedDate, history, ReturnSeriesOf.CaloriesPerMin);
            // Calculate the calories per min series
            ViewBag.AVGCPM = ChartSeriesHelper.CalculateAverageSeries(selectedDate, rangeInDays, history, ReturnSeriesOf.CaloriesPerMin);

            return(View("Details", model));
        }
 public void CalculateAverageSeriesTest()
 {
     double[] averageCalories   = ChartSeriesHelper.CalculateAverageSeries(today, TestSettings.rangeInDays, history, ReturnSeriesOf.CaloriesBurnt);
     double[] averageCalsPerMin = ChartSeriesHelper.CalculateAverageSeries(today, TestSettings.rangeInDays, history, ReturnSeriesOf.CaloriesPerMin);
     Assert.IsTrue(IsCalories(averageCalories));
     Assert.IsTrue(IsCalsPerMin(averageCalsPerMin));
 }
        public void CalculateCalsBurntPerMinBetweenInputsTest()
        {
            List <History> todaysHistory = history.Where(x => x.IsSameDate(today)).ToList();

            Assert.IsTrue(todaysHistory.Where(x => x.CaloriesBurntPerMin != 0).Count() == 0);
            ChartSeriesHelper.CalculateCalsBurntPerMinBetweenInputs(today, todaysHistory);
            Assert.IsTrue(todaysHistory.Where(x => x.CaloriesBurntPerMin == 0).Count() == 1);
        }
        public void CalculateSeriesTodayTest()
        {
            double[] caloriesSeries = ChartSeriesHelper.CalculateSeries(today, history, ReturnSeriesOf.CaloriesBurnt);

            int mins = (today.Hour * 60) + (today.Minute);

            Assert.IsTrue(caloriesSeries[mins + 10] == 0);
        }
        public void CalculateCaloriesPerMinTest()
        {
            History[] todaysHistory = history.Where(x => x.IsSameDate(today)).ToArray();
            double    calsPerMin;

            calsPerMin = ChartSeriesHelper.CalculateCaloriesPerMin(todaysHistory, 1);
            Assert.IsTrue(calsPerMin > 0);
            calsPerMin = ChartSeriesHelper.CalculateCaloriesPerMin(todaysHistory, todaysHistory.Length - 1);
            Assert.IsTrue(calsPerMin > 0);
            calsPerMin = ChartSeriesHelper.CalculateCaloriesPerMin(todaysHistory, 2);
            Assert.IsTrue(calsPerMin > 0);
        }
        public void GetCollectionTest()
        {
            List <double[]> collection      = ChartSeriesHelper.GetCollection(today, 100, history, ReturnSeriesOf.CaloriesBurnt);
            int             numberOfRecords = 100 / 7;

            Assert.IsTrue(collection.Count == numberOfRecords);

            collection = ChartSeriesHelper.GetCollection(today, 100, history, ReturnSeriesOf.CaloriesPerMin);
            foreach (double[] series in collection)
            {
                Assert.IsTrue(series.Where(x => x > 20).Count() == 0);
            }
        }
        public void CalculateTimeSeriesTest()
        {
            string[] timeSeries = ChartSeriesHelper.CalculateTimeSeries();
            DateTime?lastTime   = null;

            foreach (string str in timeSeries)
            {
                var temp = str.Substring(3, 2);
                int hour = int.Parse(str.Substring(0, 2));
                int min  = int.Parse(str.Substring(3, 2));
                Assert.IsTrue(hour <= 23);
                Assert.IsTrue(min <= 59);
                DateTime time = new DateTime(today.Year, today.Month, today.Day, hour, min, 0);
                if (lastTime != null)
                {
                    Assert.IsTrue(lastTime < time);
                }
                lastTime = new DateTime(time.Year, time.Month, time.Day, hour, min, 0);
            }
        }
        public void GetAverageTest()
        {
            List <double[]> collection = ChartSeriesHelper.GetCollection(today, TestSettings.rangeInDays, history, ReturnSeriesOf.CaloriesBurnt);

            Random r        = new Random();
            int    index    = r.Next(1439);
            double avgIndex = new double();

            foreach (double[] series in collection)
            {
                avgIndex += series[index];
            }
            avgIndex = avgIndex / collection.Count;

            double[] average = ChartSeriesHelper.GetAverage(collection);

            Assert.IsTrue(IsCalories(average));
            Assert.IsFalse(IsCalsPerMin(average));

            Assert.IsTrue(average[index] == avgIndex);
        }