コード例 #1
0
        public IActionResult GetTest(DateTime startDate, DateTime endDate, string grouping)
        {
            bool isValid = ConsumptionRequestValidator.Validate(startDate, endDate, grouping);

            if (!isValid)
            {
                return(this.BadRequest());
            }


            if (grouping.Equals("day"))
            {
                return(Ok(new List <ConsumptionModel>
                {
                    new ConsumptionModel {
                        Period = "04.01.2018", Amount = 7
                    },
                    new ConsumptionModel {
                        Period = "05.01.2018", Amount = 8
                    },
                    new ConsumptionModel {
                        Period = "06.01.2018", Amount = 9
                    }
                }));
            }
            else if (grouping.Equals("week"))
            {
                return(Ok(new List <ConsumptionModel>
                {
                    new ConsumptionModel {
                        Period = "01.01.2018 - 07.01.2018", Amount = 57
                    },
                    new ConsumptionModel {
                        Period = "08.01.2018 - 14.01.2018", Amount = 68
                    },
                }));
            }
            else if (grouping.Equals("month"))
            {
                return(Ok(new List <ConsumptionModel>
                {
                    new ConsumptionModel {
                        Period = "January 2018", Amount = 580
                    },
                    new ConsumptionModel {
                        Period = "February 2018", Amount = 600
                    },
                }));
            }
            else
            {
                throw new InvalidOperationException();
            }
        }
コード例 #2
0
 public void Reject_Bad_Grouping_Method(string grouping)
 {
     Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 01), new DateTime(2018, 01, 02), grouping));
 }
コード例 #3
0
 public void Allow_Correct_Grouping_Method(string grouping)
 {
     Assert.True(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 01), new DateTime(2018, 01, 02), grouping));
 }
コード例 #4
0
 public void EndDate_Cannot_Be_Greater_Than_Today()
 {
     Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 02), DateTime.Today.AddDays(1), "day"));
 }
コード例 #5
0
 public void StartDate_Cannot_Be_Greater_Than_EndDate()
 {
     Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 02), new DateTime(2018, 01, 01), "day"));
 }
コード例 #6
0
 public void StartDate_Cannot_Be_Less_Than_Two_Years_From_Today()
 {
     Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2014, 01, 01), new DateTime(2018, 01, 02), "day"));
 }
コード例 #7
0
 public void Okey()
 {
     Assert.True(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 01), new DateTime(2018, 01, 02), "day"));
 }