public void Init() { this.settingsProvider = new InMemorySettingsProvider(); this.settingsService = new AppSettingsService(this.settingsProvider); PackageVersion appVersion = Package.Current.Id.Version; string resourceVersion = $"{appVersion.Major}.{appVersion.Minor}.{appVersion.Revision}"; IDictionary <string, string> resourceValues = new Dictionary <string, string> { { ResourceBasedMotdProvider.VersionResouceKey, resourceVersion } }; SettingsConfigurationAttribute settingsConfiguration = GetTestAttribute <SettingsConfigurationAttribute>(); if (settingsConfiguration != null) { this.settingsService.EnableMotd = settingsConfiguration.EnableMotd; if (!String.IsNullOrEmpty(settingsConfiguration.MotdResourceVersion)) { resourceValues[ResourceBasedMotdProvider.VersionResouceKey] = settingsConfiguration.MotdResourceVersion; } } this.resourceProvider = new MockResourceProvider(resourceValues); this.providerUnderTest = new ResourceBasedMotdProvider( this.resourceProvider, this.settingsProvider, this.settingsService ); }
public void MultipleMotdProviders() { IMotdProvider laterProvider = new ResourceBasedMotdProvider( this.resourceProvider, this.settingsProvider, this.settingsService ); Assert.IsTrue(laterProvider.GetMotdForDisplay().ShouldDisplay, "A second provider for the same settings should display as long as it is first"); Assert.IsFalse(laterProvider.GetMotdForDisplay().ShouldDisplay, "The second provider should only display once"); Assert.IsFalse(this.providerUnderTest.GetMotdForDisplay().ShouldDisplay, "The first provider should not display after the second has"); }