Exemple #1
0
        public void ConstructorShouldPopulateSettingsProviderMap()
        {
            var extensions           = this.GetMockExtensions("TestableSettings");
            var unfilteredExtensions = new List <LazyExtension <ISettingsProvider, Dictionary <string, object> > >
            {
                new LazyExtension <ISettingsProvider, Dictionary <string, object> >
                (
                    new Mock <ISettingsProvider>().Object,
                    new Dictionary <string, object>())
            };
            var spm = new TestableSettingsProviderManager(extensions, unfilteredExtensions, new Mock <IMessageLogger>().Object);

            Assert.IsNotNull(spm.SettingsProvidersMap);
            Assert.AreEqual("TestableSettings", spm.SettingsProvidersMap.Keys.FirstOrDefault());
        }
Exemple #2
0
        public void GetSettingsProviderShouldThrowIfSettingsNameIsNullOrEmpty()
        {
            var extensions           = this.GetMockExtensions("TestableSettings");
            var unfilteredExtensions = new List <LazyExtension <ISettingsProvider, Dictionary <string, object> > >
            {
                new LazyExtension <ISettingsProvider, Dictionary <string, object> >
                (
                    new Mock <ISettingsProvider>().Object,
                    new Dictionary <string, object>())
            };
            var spm = new TestableSettingsProviderManager(extensions, unfilteredExtensions, new Mock <IMessageLogger>().Object);

            Assert.ThrowsException <ArgumentException>(() => spm.GetSettingsProvider(null));
            Assert.ThrowsException <ArgumentException>(() => spm.GetSettingsProvider(string.Empty));
        }
Exemple #3
0
        public void GetSettingsProviderShouldReturnNullIfSettingsProviderWithSpecifiedNameIsNotFound()
        {
            var extensions           = this.GetMockExtensions("TestableSettings");
            var unfilteredExtensions = new List <LazyExtension <ISettingsProvider, Dictionary <string, object> > >
            {
                new LazyExtension <ISettingsProvider, Dictionary <string, object> >
                (
                    new Mock <ISettingsProvider>().Object,
                    new Dictionary <string, object>())
            };
            var spm = new TestableSettingsProviderManager(extensions, unfilteredExtensions, new Mock <IMessageLogger>().Object);

            var sp = spm.GetSettingsProvider("RandomSettingsWhichDoesNotExist");

            Assert.IsNull(sp);
        }
Exemple #4
0
        public void GetSettingsProviderShouldReturnSettingsProviderInstance()
        {
            var extensions           = this.GetMockExtensions("TestableSettings");
            var unfilteredExtensions = new List <LazyExtension <ISettingsProvider, Dictionary <string, object> > >
            {
                new LazyExtension <ISettingsProvider, Dictionary <string, object> >
                (
                    new Mock <ISettingsProvider>().Object,
                    new Dictionary <string, object>())
            };
            var spm = new TestableSettingsProviderManager(extensions, unfilteredExtensions, new Mock <IMessageLogger>().Object);

            var sp = spm.GetSettingsProvider("TestableSettings");

            Assert.IsNotNull(sp);
            Assert.IsNotNull(sp.Value);
        }
Exemple #5
0
        public void ConstructorShouldLogWarningOnDuplicateSettingsProviderNames()
        {
            var extensions           = this.GetMockExtensions("TestableSettings", "TestableSettings");
            var unfilteredExtensions = new List <LazyExtension <ISettingsProvider, Dictionary <string, object> > >
            {
                new LazyExtension <ISettingsProvider, Dictionary <string, object> >
                (
                    new Mock <ISettingsProvider>().Object,
                    new Dictionary <string, object>())
            };
            var mockLogger = new Mock <IMessageLogger>();
            var spm        = new TestableSettingsProviderManager(extensions, unfilteredExtensions, mockLogger.Object);

            mockLogger.Verify(
                l =>
                l.SendMessage(
                    TestMessageLevel.Error,
                    "Duplicate settings provider named 'TestableSettings'.  Ignoring the duplicate provider."));

            // Also validate the below.
            Assert.IsNotNull(spm.SettingsProvidersMap);
            Assert.AreEqual("TestableSettings", spm.SettingsProvidersMap.Keys.FirstOrDefault());
        }