public void OnActivate_WhenDataIsNotShared_CheckBoxIsUnchecked() { // Arrange var telemetryManager = new Mock <ITelemetryManager>(); telemetryManager.Setup(x => x.IsAnonymousDataShared).Returns(false); var optionsPage = new OtherOptionsDialogPageTestable(telemetryManager.Object); // Act optionsPage.Activate(); // Assert optionsPage.Control.Should().NotBeNull(); optionsPage.Control.ShareAnonymousData.IsChecked.Should().BeFalse(); }
public void OnApply_WhenApplyBehaviorIsCancel_DoesNotCallOptInOrOptOut() { // Arrange var isOptInOrOptOutCalled = false; var telemetryManager = new Mock <ITelemetryManager>(); telemetryManager.Setup(x => x.OptIn()).Callback(() => isOptInOrOptOutCalled = true); telemetryManager.Setup(x => x.OptOut()).Callback(() => isOptInOrOptOutCalled = true); var optionsPage = new OtherOptionsDialogPageTestable(telemetryManager.Object); // Act optionsPage.Apply(ApplyKind.Cancel); // Assert isOptInOrOptOutCalled.Should().BeFalse(); }
private OtherOptionsDialogPageTestable CreateTestSubject(ITelemetryManager telemetryManager) { var testSubject = new OtherOptionsDialogPageTestable(); // The telemetry manager is a MEF component, so the page obtains it by // using the "Site" property as service provider to get the IComponentModel MEF service. // The MEF service then returns the telemetry manager. Mock <ISite> mockSite = new Mock <ISite>(); Mock <IComponentModel> mockMefHost = new Mock <IComponentModel>(); mockMefHost.Setup(m => m.GetExtensions <ITelemetryManager>()).Returns(new[] { telemetryManager }); mockSite.As <IServiceProvider>().Setup(m => m.GetService(It.Is <Type>(t => t == typeof(SComponentModel)))).Returns(mockMefHost.Object); mockSite.Object.GetMefService <ITelemetryManager>().Should().NotBeNull(); // sanity check of the test setup testSubject.Site = mockSite.Object; return(testSubject); }
public void OnApply_WhenApplyBehaviorIsApplyAndShareDataStaysTrue_DoesNotCallOptInOrOptOut() { // Arrange var isOptInOrOptOutCalled = false; var telemetryManager = new Mock <ITelemetryManager>(); telemetryManager.Setup(x => x.IsAnonymousDataShared).Returns(true); telemetryManager.Setup(x => x.OptIn()).Callback(() => isOptInOrOptOutCalled = true); telemetryManager.Setup(x => x.OptOut()).Callback(() => isOptInOrOptOutCalled = true); var optionsPage = new OtherOptionsDialogPageTestable(telemetryManager.Object); optionsPage.Control.ShareAnonymousData.IsChecked = true; // Act optionsPage.Apply(ApplyKind.Apply); // Assert isOptInOrOptOutCalled.Should().BeFalse(); }