public void TestIsRoamingReadOnly_UserScope()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetScope(DesignTimeSettingInstance.SettingScope.User);
            Assert.IsFalse(DesignTimeSettingInstance.IsRoamingReadOnly(instance));
        }
        public void TestIsLocalFileSettingsProvider_WebProvider()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetProvider("WebProviderTypeName"); // UNDONE: Should use correct typename here!
            Assert.IsFalse(DesignTimeSettingInstance.IsLocalFileSettingsProvider(instance));
        }
        public void TestIsNameReadOnly_RandomProvider()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetProvider("ThisIsARandomProvider");
            Assert.IsFalse(DesignTimeSettingInstance.IsNameReadOnly(instance));
        }
        public void TestIsConnectionString_True()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetSettingTypeName("(Connection string)");
            Assert.IsTrue(DesignTimeSettingInstance.IsConnectionString(instance));
        }
        public void TestIsNameReadOnly_ProviderIsWebServiceProvider()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetProvider(Microsoft.VisualStudio.Editors.PropertyPages.ServicesPropPageAppConfigHelper.ClientSettingsProviderName());
            Assert.IsTrue(DesignTimeSettingInstance.IsNameReadOnly(instance));
        }
        public void TestIsNameReadOnly_NoProvider()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            Assert.IsNull(instance.Provider);
            Assert.IsFalse(DesignTimeSettingInstance.IsNameReadOnly(instance));
        }
        public void TestIsConnectionString_False()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetSettingTypeName("System.String");
            Assert.IsFalse(DesignTimeSettingInstance.IsConnectionString(instance));
        }
        public void TestIsScopeReadOnly_NullInstance()
        {
            DesignTimeSettingInstance instance = null;

            Assert.IsFalse(DesignTimeSettingInstance.IsScopeReadOnly(instance, true));
            Assert.IsTrue(DesignTimeSettingInstance.IsScopeReadOnly(instance, false));
        }
        public void TestIsRoamingReadOnly_ApplicationScope()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetScope(DesignTimeSettingInstance.SettingScope.Application);
            Assert.IsTrue(DesignTimeSettingInstance.IsRoamingReadOnly(instance));
        }
        public void TestIsScopeReadOnly_ConnectionString()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetSettingTypeName("(Connection string)");
            instance.SetScope(DesignTimeSettingInstance.SettingScope.Application);
            Assert.IsTrue(DesignTimeSettingInstance.IsScopeReadOnly(instance, true));
            Assert.IsTrue(DesignTimeSettingInstance.IsScopeReadOnly(instance, false));
        }
        public void TestIsLocalFileSettingsProvider_AllPermutationLocalFileSettingsProvider()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            instance.SetProvider(typeof(System.Configuration.LocalFileSettingsProvider).Name);
            Assert.IsTrue(DesignTimeSettingInstance.IsLocalFileSettingsProvider(instance));
            instance.SetProvider(typeof(System.Configuration.LocalFileSettingsProvider).FullName);
            Assert.IsTrue(DesignTimeSettingInstance.IsLocalFileSettingsProvider(instance));
            instance.SetProvider("");
            Assert.IsTrue(DesignTimeSettingInstance.IsLocalFileSettingsProvider(instance));
        }
        public void TestProjectSupportsUserScopedSettings_InstanceSiteSupportingIVsHiearchy()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            Mock <System.ComponentModel.ISite> siteMock = new Mock <System.ComponentModel.ISite>();
            Mock <IVsHierarchy> hierarchyMock           = new Mock <IVsHierarchy>();

            siteMock.Implement("GetService",
                               new object[] { typeof(IVsHierarchy) },
                               hierarchyMock.Instance);

            instance.Site = siteMock.Instance;
            Assert.IsTrue(DesignTimeSettingInstance.ProjectSupportsUserScopedSettings(instance));
        }
        public void TestScopeConverterConvertTo_String()
        {
            DesignTimeSettingInstance.ScopeConverter converter = new DesignTimeSettingInstance.ScopeConverter();
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            Assert.AreEqual <string>("Application", (string)converter.ConvertTo(null, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.Application, typeof(string)));
            Assert.AreEqual <string>("User", (string)converter.ConvertTo(null, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.User, typeof(string)));

            Mock <System.ComponentModel.ITypeDescriptorContext> contextMock = new Mock <System.ComponentModel.ITypeDescriptorContext>();

            contextMock.Implement("get_Instance", instance);

            Assert.AreEqual <string>("Application", (string)converter.ConvertTo(contextMock.Instance, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.Application, typeof(string)));
            Assert.AreEqual <string>("User", (string)converter.ConvertTo(contextMock.Instance, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.User, typeof(string)));

            instance.SetProvider(Microsoft.VisualStudio.Editors.PropertyPages.ServicesPropPageAppConfigHelper.ClientSettingsProviderName());
            Assert.AreEqual <string>("Application (Web)", (string)converter.ConvertTo(contextMock.Instance, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.Application, typeof(string)));
            Assert.AreEqual <string>("User (Web)", (string)converter.ConvertTo(contextMock.Instance, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.User, typeof(string)));

            instance.SetProvider("Random provider");
            Assert.AreEqual <string>("Application", (string)converter.ConvertTo(contextMock.Instance, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.Application, typeof(string)));
            Assert.AreEqual <string>("User", (string)converter.ConvertTo(contextMock.Instance, System.Globalization.CultureInfo.CurrentCulture, DesignTimeSettingInstance.SettingScope.User, typeof(string)));
        }
        public void TestIsRoamingReadOnly_NullInstance()
        {
            DesignTimeSettingInstance instance = null;

            Assert.IsFalse(DesignTimeSettingInstance.IsRoamingReadOnly(instance));
        }
 public void TestIsNameReadOnly_NullInstance()
 {
     Assert.IsFalse(DesignTimeSettingInstance.IsNameReadOnly(null));
 }
        public void TestIsConnectionString_NullInstance()
        {
            DesignTimeSettingInstance instance = null;

            Assert.IsFalse(DesignTimeSettingInstance.IsConnectionString(instance));
        }
        public void TestIsLocalFileSettingsProvider_NullInstance()
        {
            DesignTimeSettingInstance instance = null;

            Assert.IsTrue(DesignTimeSettingInstance.IsLocalFileSettingsProvider(instance));
        }
 public void TestProjectSupportsUserScopedSettings_NullHierarchy()
 {
     Assert.IsTrue(DesignTimeSettingInstance.ProjectSupportsUserScopedSettings((IVsHierarchy)null));
 }
        public void TestProjectSupportsUserScopedSettings_InstanceNullSite()
        {
            DesignTimeSettingInstance instance = new DesignTimeSettingInstance();

            Assert.IsTrue(DesignTimeSettingInstance.ProjectSupportsUserScopedSettings(instance));
        }