コード例 #1
0
        public ActionResult Result()
        {
            int month = int.Parse(Request.Form["month-input"]);
            int day   = int.Parse(Request.Form["day-input"]);
            int year  = int.Parse(Request.Form["year-input"]);
            DayOfWeekGenerator newDayOfWeekGenerator = new DayOfWeekGenerator(year, month, day);
            string             model = newDayOfWeekGenerator.ReturnDayOfWeek();

            return(View("Index", model));
        }
コード例 #2
0
        public void TakeInputDate_ReturnDayOfTheWeek()
        {
            //arrange
            string     testName = "Thursday";
            List <int> testDay  = new List <int> {
                2018, 2, 15
            };
            DayOfWeekGenerator newDWG = new DayOfWeekGenerator(2018, 2, 15);

            //act
            DateTime dateValue = new DateTime(newDWG.GetYear(), newDWG.GetMonth(), newDWG.GetDay());
            string   dayName   = dateValue.ToString("dddddddd"); //change this code if your dates are funky

            //assert
            Assert.AreEqual(testName, dayName);
        }
コード例 #3
0
        public void GetDay_ReturnDay()
        {
            //arrange
            List <int> testDay = new List <int> {
                2018, 2, 15
            };
            DayOfWeekGenerator newDWG = new DayOfWeekGenerator(2018, 2, 15);

            //act
            List <int> dateInput = new List <int> {
                newDWG.GetYear(), newDWG.GetMonth(), newDWG.GetDay()
            };

            //assert
            CollectionAssert.AreEqual(testDay, dateInput);
        }
コード例 #4
0
ファイル: DateGenerator.cs プロジェクト: leelu611/xGenerator
        public DateTime NextDate()
        {
            var d = DateTime.Now;

            if (Start >= End)
            {
                return(d);
            }


            var yearGenerator = YearGenerator;

            if (yearGenerator == null && Start.HasValue && End.HasValue)
            {
                yearGenerator = new LinearGenerator(DateToYearFraction(Start.Value), DateToYearFraction(End.Value));
            }

            d = GetInRange(() =>
            {
                if (yearGenerator != null)
                {
                    d = YearFractionToDate(yearGenerator.Next());
                }


                if (PartOfYearGenerator != null)
                {
                    //if (YearGenerator == null || Randomness.Random.NextDouble() < 1 - YearWeight)
                    {
                        //                        d = YearFractionToDate(_uniform.Next());
                        var val  = PartOfYearGenerator.Next();
                        var days = val * (DateTime.IsLeapYear(d.Year) ? 366 : 365);

                        var dnew = new DateTime(d.Year, 1, 1).AddDays(days);
                        if (YearGenerator != null && Distance(d, dnew) > 1d)
                        {
                            return(DateTime.MinValue);
                        }
                        d = dnew;
                    }
                }

                if (MonthGenerator != null)
                {
                    //if (YearGenerator == null || Randomness.Random.NextDouble() < 1 - YearWeight)
                    {
                        var val = MonthGenerator.Next();

                        if (YearGenerator != null || PartOfYearGenerator != null)
                        {
                            if (d.Month != (int)val)
                            {
                                return(DateTime.MinValue);
                                //var daysInMonth = DateTime.DaysInMonth(d.Year, (int)val);
                                //var mid = new DateTime(d.Year, (int) val, daysInMonth/2);
                                //var p = Distance(d, mid)/(double)daysInMonth;
                                //if (Randomness.Random.NextDouble() < p) return DateTime.MinValue;
                            }
                        }
                        else
                        {
                            var days = (d.Day - 1) / (double)(DateTime.DaysInMonth(d.Year, d.Month));
                            d        = new DateTime(d.Year, (int)val, 1 + (int)(days * DateTime.DaysInMonth(d.Year, (int)val)));
                        }
                    }
                }

                if (DayOfWeekGenerator != null)
                {
                    var val = (int)DayOfWeekGenerator.Next();
                    d       = d.AddDays(-(int)d.DayOfWeek + val);
                }

                if (HourGenerator != null)
                {
                    d = d.Date.AddHours(HourGenerator.Next());
                }

                return(d);
            });

            return(d);
        }