public void TryDistributeTotalInput_ClientHourRegistrationHoursAreUpdatedAsExpected() { // Arrange new DispatcherFrame(); var headerClient = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)) { ForecastTypeRegistration = new ForecastTypeRegistration(ForecastTestData.ProjectHoursOnlyForecastType, null) }; var headerOpen = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 2)) { ForecastTypeRegistration = new ForecastTypeRegistration(ForecastTestData.DedicatedAndProjectHoursForcastType, null) }; var sut = new ProjectRegistration { Registrations = new ObservableCollection <ProjectHourRegistration>() }; AddClientHourRegistration(sut, headerClient, 7.5m); AddClientHourRegistration(sut, headerOpen, 4); // Act sut.TryDistributeTotalInput("14"); // Assert Assert.That(sut.Registrations.Single(x => x.SelectedPresencetypeSupportsProjectHoursOnly()).Hours, Is.EqualTo(7)); Assert.That(sut.Registrations.Single(x => x.SelectedPresencetypeSupportsDedicatedHours).Hours, Is.EqualTo(7)); }
private void AddDateColumnWithClientRegistration(ProjectRegistration projectRegistration, decimal hours, bool isEditEnabled) { var dateColumn = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)); var clientHourRegistration = new ProjectHourRegistration(projectRegistration) { Hours = hours, IsEditEnabled = isEditEnabled }; dateColumn.AddProjectHours(clientHourRegistration); projectRegistration.Registrations.Add(clientHourRegistration); }
public void SetToHoliday_HolidayToSetFromHasDifferentDate_ThrowsException() { // Arrange var holiday = new HolidayDto { Date = new DateTime(2013, 1, 1), Description = "buuh" }; var dateItem = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 2)); // Act var error = Assert.Throws <Exception>(() => dateItem.SetToHoliday(holiday)); // Assert Assert.That(error.Message, Is.EqualTo("Holiday buuh does not have same date as 02-01-2013")); }
public void SetToHoliday_HolidayHasSameDateAsDateItem_HolidayDescriptionGetValue() { // Arrange var holiday = new HolidayDto { Date = new DateTime(2013, 1, 1), Description = "buuh" }; var dateItem = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)); // Act dateItem.SetToHoliday(holiday); // Assert Assert.That(dateItem.IsHoliday, Is.True); Assert.That(dateItem.HolidayDesciption, Is.EqualTo("buuh")); }
public void AddPresenceRegistration_PresenceRegistrationIsAddedToCollection() { // Arrange new DispatcherFrame(); var sut = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)); // Act var presenceReg = new ForecastTypeRegistration(ForecastTestData.ProjectHoursOnlyForecastType, new List <ForecastType>()); sut.ForecastTypeRegistration = presenceReg; // Assert Assert.That(sut.ForecastTypeRegistration, Is.EqualTo(presenceReg)); }
public void IsEmptyProjectRegistration_IsTypeProjectAndHasProjectHours_ReturnsFalse() { // Arrange var frame = new DispatcherFrame(); var sut = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)) { ForecastTypeRegistration = new ForecastTypeRegistration(ForecastTestData.ProjectHoursOnlyForecastType, ForecastTestData.ForecastTypesList) }; sut.AddProjectHours(new ProjectHourRegistration(new ProjectRegistration())); // Act var result = sut.IsEmptyProjectRegistration(ForecastTestData.ProjectHoursOnlyForecastType.Id); // Assert Assert.That(result, Is.False); }
private IEnumerable <ProjectHourRegistration> CreateHoursForMonth(int month, int year, decimal defaultHours, ProjectRegistration parent) { var result = new List <ProjectHourRegistration>(); var day = new DateTime(year, month, 1); while (day.Month == month) { if (!day.IsWeekend()) { var dateColumn = new ForecastRegistrationDateColumn(day); var hourReg = new ProjectHourRegistration(parent) { Hours = defaultHours }; dateColumn.AddProjectHours(hourReg); result.Add(hourReg); } day = day.AddDays(1); } return(result); }
private ForecastDateColumns CreateDateHeaders() { var dates = GenereateDatesForMonth(4, 2013); var result = new ForecastDateColumns(); foreach (var date in dates) { var newItem = new ForecastRegistrationDateColumn(date); // Set a couple of days to be holiday if (date.Day == 2 || date.Day == 3) { var holiday = new HolidayDto { Date = date, Description = "Holiday" }; newItem.SetToHoliday(holiday); } result.Add(newItem); } return(result); }
public void CalculateTotal_SumsClinetHourRegistrationsAndForecastTypeDedidcatedHours() { // Arrange new DispatcherFrame(); var fixture = InitializeFixture(); var clientReg = fixture.Create <ProjectRegistration>(); var sut = new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)); AddClientHourRegistration(clientReg, sut, 3); AddClientHourRegistration(clientReg, sut, 4); sut.ForecastTypeRegistration = new ForecastTypeRegistration(ForecastTestData.DedicatedAndProjectHoursForcastType, ForecastTestData.ForecastTypesList) { DedicatedHours = 1 }; // Act sut.CalculateTotal(); // Assert Assert.That(sut.DateTotal.Hours, Is.EqualTo(8)); }
private static void AddClientHourRegistration(ProjectRegistration projectRegistration, ForecastRegistrationDateColumn dateColumn, decimal hours) { var clientHourReg = new ProjectHourRegistration(projectRegistration) { Hours = hours }; dateColumn.AddProjectHours(clientHourReg); projectRegistration.Registrations.Add(clientHourReg); }
public void CalculateTotals(ForecastRegistrationDateColumn dateItem) { throw new NotImplementedException(); }