コード例 #1
0
        public void ThrowArgumentNullException_WhenArgumentIsNull()
        {
            // Arrange
            IProduct product     = null;
            var      dailyIntake = new DailyIntake();

            // Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => dailyIntake.RemoveProduct(product));
        }
コード例 #2
0
        public void ThrowArgumentNullException_WhenArgumentIsNull()
        {
            // Arrange
            IActivity activity    = null;
            var       dailyIntake = new DailyIntake();

            // Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => dailyIntake.AddActivity(activity));
        }
コード例 #3
0
        public void ThrowArgumentException_WhenPassedArgumentIsNegative()
        {
            // Arrange
            var dailyIntake = new DailyIntake();

            // Act & Assert
            Assert.ThrowsException <ArgumentException>(() =>
                                                       dailyIntake.AddWater(-1));
        }
コード例 #4
0
        public void ThrowArgumentException_WhenArgumentIsBiggerThanCurrentQuantity()
        {
            // Arrange
            var dailyIntake = new DailyIntake();

            // Act & Assert
            Assert.ThrowsException <ArgumentException>(() =>
                                                       dailyIntake.RemoveWater(100));
        }
コード例 #5
0
        public void ThrowStackOverflowException_WhenQuantityIsOverflowing()
        {
            // Arrange
            var dailyIntake = new DailyIntake();

            dailyIntake.AddWater(int.MaxValue);

            // Act & Assert
            Assert.ThrowsException <OverflowException>(() => dailyIntake.AddWater(int.MaxValue));
        }
コード例 #6
0
        public void AddActivity_WhenArgumentIsNotNull()
        {
            // Arrange
            var activity    = new Mock <IActivity>();
            var dailyIntake = new DailyIntake();

            // Act
            dailyIntake.AddActivity(activity.Object);

            // Assert
            Assert.IsTrue(dailyIntake.ActivitiesPerformed.Contains(activity.Object));
        }
コード例 #7
0
        // POST: api/DailyIntake
        public void Post([FromBody] DailyIntake value)
        {
            var _userId = User.Identity.GetUserId();

            var user = _userRepo.Get(x => x.UserId == _userId).First();

            value.User   = user;
            value.Date   = DateTime.Now;
            value.UserId = user.Id;

            _dailyIntakeRepo.Insert(value);
        }
コード例 #8
0
        public void AddQuantity_WhenArgumentIsPositive()
        {
            // Arrange
            var dailyIntake    = new DailyIntake();
            var waterToBeAdded = 500;

            // Act
            dailyIntake.AddWater(waterToBeAdded);

            // Assert
            Assert.AreEqual(dailyIntake.Water, waterToBeAdded);
        }
コード例 #9
0
        public void AddProduct_WhenArgumentIsNotNull()
        {
            // Arrange
            var product     = new Mock <IProduct>();
            var dailyIntake = new DailyIntake();

            // Act
            dailyIntake.AddProduct(product.Object);

            // Assert
            Assert.IsTrue(dailyIntake.ProductsConsumed.Contains(product.Object));
        }
コード例 #10
0
        public void RemoveProduct_WhenArgumentIsPresentInTheContainer()
        {
            // Arrange
            var product     = new Mock <IProduct>();
            var dailyIntake = new DailyIntake();

            dailyIntake.AddProduct(product.Object);

            // Act
            dailyIntake.RemoveProduct(product.Object);

            // Assert
            Assert.IsFalse(dailyIntake.ProductsConsumed.Contains(product.Object));
        }
コード例 #11
0
        public void RemoveActivity_WhenArgumentIsPresentInCollection()
        {
            // Arrange
            var activity    = new Mock <IActivity>();
            var dailyIntake = new DailyIntake();

            dailyIntake.AddActivity(activity.Object);

            // Act
            dailyIntake.RemoveActivity(activity.Object);

            // Assert
            Assert.IsFalse(dailyIntake.ActivitiesPerformed.Contains(activity.Object));
        }
コード例 #12
0
        public void ReduceQuantity_WhenParameterIsPositiveAndWithinRange()
        {
            // Arrange
            var dailyIntake  = new DailyIntake();
            var waterAdded   = 1000;
            var waterRemoved = 500;

            dailyIntake.AddWater(waterAdded);

            // Act
            dailyIntake.RemoveWater(waterRemoved);

            // Assert
            Assert.AreEqual(dailyIntake.Water, waterAdded - waterRemoved);
        }
コード例 #13
0
        public void OnPost(int amount)
        {
            FoodInfo = JsonConvert.DeserializeObject <FoodInfo>(TempData.Peek("food") as string);

            if (HttpContext.Session.Keys.Contains(SessionKeyName))
            {
                DailyIntake = JsonConvert.DeserializeObject <DailyIntake>(HttpContext.Session.GetString(SessionKeyName));
            }
            else
            {
                DailyIntake = new DailyIntake {
                    FoodItems = new List <Food2>()
                };
            }
            Food2 newFood = FoodInfo.hints.Find(f => f.food.label == FoodName).food;

            newFood.amount = amount;
            DailyIntake.FoodItems.Add(newFood);
            HttpContext.Session.SetString(SessionKeyName, JsonConvert.SerializeObject(DailyIntake));
        }
コード例 #14
0
 public static DailyIntake GetDailyIntake(this DailyIntake s)
 {
     try
     {
         if (s == null)
         {
             return(null);
         }
         return(new DailyIntake()
         {
             id = s.id,
             date = s.date,
             id_metering_units = s.id_metering_units,
             value = s.value,
             change = s.change,
             change_user = s.change_user,
             DailyProduction = s.DailyProduction.ToList().Select(p => p.GetDailyProduction()).ToList(),
         });
     }
     catch (Exception e)
     {
         return(null);
     }
 }