public void CreateForecastTypeRegistrations_InputTwoColumns_ReturnsTwoForecastTypeRegistrationsWithExpectedValues() { // Arrange var frame = new DispatcherFrame(); var fixture = InitializeFixture(); var columns = new List <ForecastRegistrationDateColumn> { new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)), new ForecastRegistrationDateColumn(new DateTime(2013, 1, 2)) }; var forecastTypeProviderMock = ForecastTestData.MockForecastTypeProvider(fixture); var defaultForecastType = forecastTypeProviderMock.Object.Default; var forecastTypes = forecastTypeProviderMock.Object.ForecastTypes; var vmMock = new Mock <IForecastRegistrationViewModel>(); vmMock.SetupGet(x => x.DateColumns).Returns(new ForecastDateColumns(columns)); var generator = new ForecastRegistrationDataGenerator(forecastTypeProviderMock.Object, null, new CopyStatusCommandHandler()); // Act var vm = vmMock.Object; generator.InitializeForecastTypeRegistrations(vm); // Assert Assert.That(vm.DateColumns.Any(x => !x.ForecastType.Equals(defaultForecastType)), Is.False); Assert.That(vm.DateColumns.Select(y => y.ForecastTypeRegistration).Any(x => !x.ForecastTypes.Equals(forecastTypes)), Is.False); vmMock.VerifyAll(); forecastTypeProviderMock.VerifyAll(); }
public void CreateRegistrationsFromHeaders_DateHeadersHasTwoItems_ReturnsTwoHourRegistrations() { // Arrange var frame = new DispatcherFrame(); var dateHeaders = new List <ForecastRegistrationDateColumn>() { new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)), new ForecastRegistrationDateColumn(new DateTime(2013, 1, 2)) }; var viewModel = new Mock <IForecastRegistrationViewModel>(); viewModel.SetupGet(x => x.PresenceRegistrations).Returns(new ObservableCollection <ForecastTypeRegistration>( dateHeaders.Select(x => { var newItem = new ForecastTypeRegistration(ForecastTestData.ProjectHoursOnlyForecastType, null); x.ForecastTypeRegistration = newItem; return(newItem); }).ToList() )); var clientReg = new ProjectRegistration(); var generator = new ForecastRegistrationDataGenerator(null, null, null); // Act var result = generator.CreateProjectHoursFromHeaders(dateHeaders, viewModel.Object, clientReg); // Assert Assert.That(result.Count, Is.EqualTo(2)); Assert.That(result.Any(x => x.Hours != 0), Is.False); Assert.That(result.Any(x => !x.Parent.Equals(clientReg)), Is.False); }