public async Task AzureMLRecommendation_NoResult() { var mockClient = new Mock <IHttpClient>(); mockClient.Setup(c => c.GetStringAsync(It.IsAny <string>())).ReturnsAsync("{}"); var mockTelemetryProvider = new Mock <ITelemetryProvider>(); var engine = new AzureMLFrequentlyBoughtTogetherRecommendationEngine(mockClient.Object, mockTelemetryProvider.Object); var recs = await engine.GetRecommendationsAsync("5"); Assert.AreEqual(0, recs.Count()); }
public async Task AzureMLRecommendation_Result() { var fakeClient = new Mock <IHttpClient>(); fakeClient.Setup(c => c.GetStringAsync(It.IsAny <string>())).ReturnsAsync("{\"ItemSet\":[\"2\",\"3\"],\"Value\":1}"); var fakeTelemetryProvider = new Mock <ITelemetryProvider>(); var engine = new AzureMLFrequentlyBoughtTogetherRecommendationEngine(fakeClient.Object, fakeTelemetryProvider.Object); var recs = await engine.GetRecommendationsAsync("1"); Assert.AreEqual(2, recs.Count()); }
public async Task AzureMLRecommendation_Exception() { var mockClient = new Mock <IHttpClient>(); mockClient.Setup(c => c.GetStringAsync(It.IsAny <string>())).ThrowsAsync(new HttpRequestException()); var mockTelemetryProvider = new Mock <ITelemetryProvider>(); mockTelemetryProvider.Setup(t => t.TrackException(It.IsAny <Exception>())); var engine = new AzureMLFrequentlyBoughtTogetherRecommendationEngine(mockClient.Object, mockTelemetryProvider.Object); var recs = await engine.GetRecommendationsAsync("1"); Assert.AreEqual(0, recs.Count()); mockTelemetryProvider.Verify(t => t.TrackException(It.IsAny <HttpRequestException>()), Times.Once); }