public void MonthContainerShouldNotContainsEvents() { var dateTime = new DateTime(2020, 7, 9); var monthContainer = new MonthContainer(dateTime); Assert.IsFalse(monthContainer._month.Days.Any(day => day.HasEvents)); }
public void DaysOfMonthShouldStartBasedOnFirstDayOfWeek(DateTime dateTime, DayOfWeek firstDayOfWeek, int index) { var monthContainer = new MonthContainer(dateTime, firstDayOfWeek); var days = monthContainer.Days; var firstDayOfCurrentMonth = days.First(day => day is { } && day.DateTime.Day == 1);
public void MonthContainerShouldHave42Days(DateTime dateTime) { var monthContainer = new MonthContainer(dateTime); Assert.IsNotEmpty(monthContainer.Days); Assert.AreEqual(42, monthContainer.Days.Count); }
public void MonthContainerShouldContainsTheDaysOfWeekInSpecificLanguages(string language, object dayOfWeekName) { CultureInfo.CurrentCulture = new CultureInfo(language); var dateTime = DateTime.Today; var monthContainer = new MonthContainer(dateTime); Assert.AreEqual((DayOfWeekName)dayOfWeekName, monthContainer.DaysOfWeek.First()); }
public void MonthContainerShouldContainsDaysOfMonth() { var dateTime = DateTime.Now; var monthContainer = new MonthContainer(dateTime); Assert.IsNotEmpty(monthContainer.Days); }
public void ShouldGetLastDayOfMonthContainerWhenPreviewDaysIsActive() { var dateTime = new DateTime(2020, 10, 1); var monthContainer = new MonthContainer(dateTime, isPreviewDaysActive: true); var lastDay = monthContainer.LastDay; Assert.AreEqual(new DateTime(2020, 11, 7, 23, 59, 59), lastDay); }
public void MonthContainerShouldHaveAName() { var dateTime = new DateTime(2020, 7, 9); var monthContainer = new MonthContainer(dateTime); var result = monthContainer.GetName(); var dateTimeName = dateTime.ToString("MMMM yyyy"); Assert.AreEqual(dateTimeName, result); }
public void MonthContainerShouldLocalizeDaysOfWeekCorrectly(string language, string dayOfWeekName) { CultureInfo.CurrentCulture = new CultureInfo(language); var dateTime = DateTime.Today; var monthContainer = new MonthContainer(dateTime); Assert.AreEqual(dayOfWeekName, monthContainer.DaysOfWeek.First()); }
public void ShouldGetLastDayOfMonthContainer() { var dateTime = new DateTime(2020, 10, 1); var monthContainer = new MonthContainer(dateTime); var lastDay = monthContainer.LastDay; Assert.AreEqual(new DateTime(2020, 10, 31, 23, 59, 59), lastDay); }
public void MonthContainerShouldNavigateToPreivousMonth() { var dateTime = new DateTime(2020, 12, 1); var monthContainer = new MonthContainer(dateTime); monthContainer.Previous(); Assert.AreEqual(monthContainer._month.MonthDateTime.ToString("MMMM"), monthContainer.GetMonthName()); }
public void ShouldGetFirstDayOfMonthContainer() { var dateTime = new DateTime(2020, 10, 1); var monthContainer = new MonthContainer(dateTime); var firstDay = monthContainer.FirstDay; Assert.AreEqual(new DateTime(2020, 10, 1, 0, 0, 0), firstDay); }
public void ShouldGetFirstDayOfMonthContainerWhenPreviewDaysIsActive() { var dateTime = new DateTime(2020, 10, 1); var monthContainer = new MonthContainer(dateTime, isPreviewDaysActive: true); var firstDay = monthContainer.FirstDay; Assert.AreEqual(new DateTime(2020, 9, 27, 0, 0, 0), firstDay); }
public void DaysAttributeShouldBePopulateOneTime() { var dateTime = new DateTime(2020, 10, 1); var monthContainer = new MonthContainer(dateTime); var days = monthContainer.Days; Assert.AreEqual(days.GetHashCode(), monthContainer.Days.GetHashCode()); }
public CalendarView() { InitializeComponent(); _monthContainer = new MonthContainer(DateTime.Today); BindableLayout.SetItemsSource(CalendarDaysContainer, _monthContainer.Days); BindableLayout.SetItemsSource(CalendarDaysOfWeekContainer, _monthContainer.DaysOfWeek); MonthName.Text = _monthContainer.GetName(); }
public void MonthContainerShouldHaveAName() { var dateTime = new DateTime(2020, 12, 1); var monthContainer = new MonthContainer(dateTime); var result = monthContainer.GetMonthName(); Assert.AreEqual(monthContainer._month.MonthDateTime.ToString("MMMM"), result); }
public void MonthContainerShouldNavigateToNextMonthWhenPreviewDaysIsActive() { var dateTime = new DateTime(2020, 11, 9); var monthContainer = new MonthContainer(dateTime, isPreviewDaysActive: true); var nextMonth = monthContainer._nextMonth; monthContainer.Next(); Assert.AreEqual(nextMonth, monthContainer._currentMonth); }
public void MonthContainerShouldNavigateToNextMonth() { var dateTime = new DateTime(2020, 11, 9); var monthContainer = new MonthContainer(dateTime); var nextMonth = new Month(dateTime.AddMonths(1)); monthContainer.Next(); Assert.AreEqual(nextMonth, monthContainer._currentMonth); }
public void DaysOfWeekShouldStartWithSpecificDay(string language, DayOfWeek firstDayOfWeek, object expectedDaysOfWeek) { CultureInfo.CurrentCulture = new CultureInfo(language); var dateTime = DateTime.Today; var monthContainer = new MonthContainer(dateTime, firstDayOfWeek); var daysOfWeek = monthContainer.DaysOfWeek; CollectionAssert.AreEqual((List <DayOfWeekName>)expectedDaysOfWeek, daysOfWeek.ToList()); }
public void MonthContainerShouldNavigateToPreviousMonth() { var dateTime = new DateTime(2021, 1, 1); var monthContainer = new MonthContainer(dateTime); var previousMonth = new Month(dateTime.AddMonths(-1)); monthContainer.Previous(); Assert.AreEqual(previousMonth, monthContainer._currentMonth); }
public void MonthContainerShouldNavigateToPreviousMonthWhenPreviewDaysIsActive() { var dateTime = new DateTime(2021, 1, 1); var monthContainer = new MonthContainer(dateTime, isPreviewDaysActive: true); var previousMonth = monthContainer._previousMonth; monthContainer.Previous(); Assert.AreEqual(previousMonth, monthContainer._currentMonth); }
public void MonthContainerShouldNavigateToNextMonth() { var dateTime = new DateTime(2020, 11, 9); var monthContainer = new MonthContainer(dateTime); monthContainer.Next(); var dateTimeName = monthContainer._month.MonthDateTime.ToString("MMMM yyyy"); Assert.AreEqual(dateTimeName, monthContainer.GetName()); Assert.AreEqual(31, monthContainer.Days.Count(day => day is {}));
public void MonthContainerCanSelectDay() { var dateTime = new DateTime(2020, 7, 9); var monthContainer = new MonthContainer(dateTime); var selectedDay = new Day(dateTime, true); monthContainer.SelectDay(selectedDay); Assert.AreEqual(selectedDay, monthContainer.GetSelectedDay()); }
internal static void GetDayToDiscardAtStartOfMonth(this MonthContainer monthContainer, List <Day?> daysOfContainer) { var firstDay = monthContainer._month.Days.First(); var numberOfDaysToDiscard = (int)firstDay.DateTime.DayOfWeek; for (var i = 0; i < numberOfDaysToDiscard; i++) { daysOfContainer.Add(default(Day)); } }
public void MonthContainerShouldNavigateToNextMonth() { var dateTime = new DateTime(2020, 12, 9); var monthContainer = new MonthContainer(dateTime); monthContainer.Next(); var dateTimeName = monthContainer._month.MonthDateTime.ToString("MMMM"); Assert.AreEqual(dateTimeName, monthContainer.GetName()); }
public void MonthContainerShouldContainsEvents() { var dateTime = new DateTime(2020, 7, 9); var monthContainer = new MonthContainer(dateTime); var events = new List <ICalendarViewEvent> { new Event(1, "Name event", dateTime, dateTime, false) }; monthContainer.AddEvents(events); Assert.IsTrue(monthContainer._month.Days.Any(day => day.HasEvents)); }
public void MonthContainerShouldContainEvents() { var dateTime = new DateTime(2020, 12, 1); var monthContainer = new MonthContainer(dateTime); var events = new List <Event> { new Event(1, "Name", dateTime, dateTime, false) }; monthContainer.AddEvents(events); Assert.IsTrue(monthContainer._month.Days.Any(Day => Day.HasEvents)); }
public void AllEventsShouldBeRemovedFromMonthContainer() { var dateTime = new DateTime(2020, 7, 9); var monthContainer = new MonthContainer(dateTime); var calendarViewEvent = new Event(1, "Name event", dateTime, dateTime, false); var events = new List <Event> { calendarViewEvent }; monthContainer.AddEvents(events); monthContainer.RemoveAllEvents(); Assert.IsFalse(monthContainer._currentMonth.Days.Any(day => day.HasEvents)); }
internal static void GetDayToDiscardAtEndOfMonth(this MonthContainer monthContainer, List <Day?> daysOfContainer) { var lastDay = monthContainer._month.Days.Last(); var numberOfDaysToDiscard = 6 - (int)lastDay.DateTime.DayOfWeek; for (var i = 0; i < numberOfDaysToDiscard; i++) { daysOfContainer.Add(default(Day)); } if (daysOfContainer.Count < 42) { for (var i = daysOfContainer.Count; i < 42; i++) { daysOfContainer.Add(default(Day)); } } }
public async Task <IndexViewModel> Calculate(Client client, Db db) { var overviewCalculator = new OverviewCalculator(db, client, new SumCalculator(db, client)); var allCategories = (await overviewCalculator.GetCategories()).ToList(); Overview = new OverviewContainer { CategoryHeaders = allCategories }; var overview = await overviewCalculator.Calculate(); foreach (var monthPair in overview) { var monthContainer = new MonthContainer { Year = monthPair.Key.Date.Year, Month = monthPair.Key.Date.Month, Name = monthPair.Key.ToString(), Income = monthPair.Value.Where(x => x.Key == Constants.IncomeCategory).Sum(x => x.Value), Spent = monthPair.Value.Where(x => x.Key != Constants.IncomeCategory).Sum(x => x.Value) }; foreach (var category in allCategories) { monthContainer[category] = monthPair.Value.ContainsKey(category) ? monthPair.Value[category] : 0; } if (monthContainer.Income > 0 || monthContainer.Spent < 0) { Overview.Months.Insert(0, monthContainer); } } return(this); }
public static Day GetSelectedDay(this MonthContainer monthContainer) => monthContainer._currentMonth.GetSelectedDay();