public Property ShouldNotHaveEmptyGroups() { var generator = ViewModelGenerators.ForTimeEntriesLogViewModel(_ => true).ToArbitrary(); return(Prop.ForAll(generator, viewModel => { viewModel.Initialize().Wait(); foreach (var grouping in viewModel.TimeEntries) { grouping.Count().Should().BeGreaterOrEqualTo(1); } })); }
public Property ShouldBeOrderedAfterInitialization() { var generator = ViewModelGenerators.ForTimeEntriesLogViewModel(_ => true).ToArbitrary(); return(Prop.ForAll(generator, viewModel => { viewModel.Initialize().Wait(); for (int i = 1; i < viewModel.TimeEntries.Count(); i++) { var dateTime1 = viewModel.TimeEntries.ElementAt(i - 1).Date; var dateTime2 = viewModel.TimeEntries.ElementAt(i).Date; dateTime1.Should().BeAfter(dateTime2); } })); }
public Property ShouldHaveOrderedGroupsAfterInitialization() { var generator = ViewModelGenerators .ForTimeEntriesLogViewModel(m => m == DateTime.UtcNow.Month).ToArbitrary(); return(Prop.ForAll(generator, viewModel => { viewModel.Initialize().Wait(); foreach (var grouping in viewModel.TimeEntries) { for (int i = 1; i < grouping.Count(); i++) { var dateTime1 = grouping.ElementAt(i - 1).Start; var dateTime2 = grouping.ElementAt(i).Start; dateTime1.Should().BeOnOrAfter(dateTime2); } } })); }