public void F_AddWorkoutApiTest()
        {
            WorkoutCollection result;
            var category_name    = "WebApiTestCategoryUpdated";
            var cat              = categoryService.GetWorkoutCategories().Where(c => c.category_name.Equals(category_name, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
            var user             = _userService.GetUsers().FirstOrDefault();
            var catCon           = Helper.CastObject <WorkoutCategory>(cat);
            var userCon          = Helper.CastObject <User>(user);
            WorkoutCollection wc = new WorkoutCollection()
            {
                workout_id            = 0,
                workout_title         = "TestApiWorkout",
                workout_note          = string.Empty,
                workout_category      = catCon,
                workout_active        = null,
                calories_burn_per_min = 0,
                category_id           = catCon.category_id,
                user    = userCon,
                user_id = userCon.user_id
            };
            var controller = new WorkoutTrackerController(workoutService, categoryService, _logManager);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();
            controller.Request.Headers.Add("Accept", "application/json");
            var response = controller.AddWorkout(wc);

            result = response.Content.ReadAsAsync <WorkoutCollection>().Result;
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreNotEqual(null, result);
            Assert.AreNotEqual(0, result.workout_id);
            response.Dispose();
        }
        public void N_WorkoutAddPerformanceTest()
        {
            int               noOfCalls    = 500;
            double            expectedTime = 1;
            WorkoutCollection result;
            var               cat        = categoryService.GetWorkoutCategories().FirstOrDefault();
            var               user       = _userService.GetUsers().FirstOrDefault();
            var               catCon     = Helper.CastObject <WorkoutCategory>(cat);
            var               userCon    = Helper.CastObject <User>(user);
            var               controller = new WorkoutTrackerController(workoutService, categoryService, _logManager);

            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();
            for (int i = 0; i < noOfCalls; i++)
            {
                WorkoutCollection wc = new WorkoutCollection()
                {
                    workout_id            = 0,
                    workout_title         = "TestApiWorkout_LoadTest" + i.ToString(),
                    workout_note          = "MockUser",
                    workout_category      = catCon,
                    workout_active        = null,
                    calories_burn_per_min = i * 10,
                    category_id           = catCon.category_id,
                    user    = userCon,
                    user_id = userCon.user_id
                };
                controller.Request       = new HttpRequestMessage();
                controller.Configuration = new HttpConfiguration();
                controller.Request.Headers.Add("Accept", "application/json");
                var response = controller.AddWorkout(wc);
                result = response.Content.ReadAsAsync <WorkoutCollection>().Result;
                response.Dispose();
            }
            stopwatch.Stop();
            var res = stopwatch.Elapsed.TotalMinutes <= expectedTime;

            Assert.IsTrue(res);
        }