public async Task DoesNotReturnSuggestionsWithArchivedProjects( int numberOfTimeEntrieWithActiveProject, int numberOfTimeEntrieWithoutActiveProject, int numberOfExpectedResults) { var provider = new RandomForestSuggestionProvider(DataSource, TimeService); var timeEntries = getTimeEntries(numberOfTimeEntrieWithActiveProject, true, projectId: 2) .Concat(getTimeEntries(numberOfTimeEntrieWithoutActiveProject, true, numberOfTimeEntrieWithActiveProject + 1, false, projectId: 5)); DataSource.TimeEntries .GetAll() .Returns(Observable.Return(timeEntries)); var suggestions = await provider.GetSuggestions().ToList(); suggestions.Should().HaveCount(numberOfExpectedResults); if (numberOfExpectedResults == 0) { return; } suggestions.First().ProjectId.Should().Be(2); suggestions.First().ProjectName.Should().Be("2"); }
public async Task ReturnsTheCorrectAmountOfSuggestions( int numberOfTimeEntrieWithProject, int numberOfTimeEntrieWithoutProject, int numberOfExpectedResults, bool expectedToHaveProject) { var provider = new RandomForestSuggestionProvider(DataSource, TimeService); var timeEntries = getTimeEntries(numberOfTimeEntrieWithProject, true) .Concat(getTimeEntries(numberOfTimeEntrieWithoutProject, false, numberOfTimeEntrieWithProject + 1)); DataSource.TimeEntries .GetAll() .Returns(Observable.Return(timeEntries)); var suggestions = await provider.GetSuggestions().ToList(); suggestions.Should().HaveCount(numberOfExpectedResults); if (numberOfExpectedResults == 0) { return; } if (expectedToHaveProject) { suggestions.First().ProjectId.Should().NotBe(null); suggestions.First().ProjectName.Should().NotBe(""); } else if (numberOfTimeEntrieWithoutProject == 0) { suggestions.First().ProjectId.Should().Be(null); suggestions.First().ProjectName.Should().Be(""); } }
public void ReturnsNoSuggestionsInCaseOfError() { var exception = new Exception(); DataSource.TimeEntries.GetAll().Returns(Observable.Throw <IEnumerable <IThreadSafeTimeEntry> >(exception)); var provider = new RandomForestSuggestionProvider(DataSource, TimeService); provider.GetSuggestions().Count().Wait().Should().Be(0); }
public void NeverThrows() { var exception = new Exception(); DataSource.TimeEntries.GetAll().Returns(Observable.Throw <IEnumerable <IThreadSafeTimeEntry> >(exception)); var provider = new RandomForestSuggestionProvider(DataSource, TimeService); Action getSuggestions = () => provider.GetSuggestions().Subscribe(); getSuggestions.Should().NotThrow(); }
protected RandomForestSuggestionProviderTest() { Provider = new RandomForestSuggestionProvider(DataSource, TimeService); TimeService.CurrentDateTime.Returns(_ => Now); }