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();
        }
コード例 #3
0
        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();
        }