private static void AddTrustedDependencies(IDependencyManager dependencyManager)
        {
            IDataTypeFascade            dataTypeFascade;
            IReflectionFascade          reflectionFascade;
            IConfigurationRoot          configurationRoot;
            IAppConfigFascade           appConfigFascade;
            IAssemblyInformationFascade assemblyInformationFascade;

            if ((object)dependencyManager == null)
            {
                throw new ArgumentNullException(nameof(dependencyManager));
            }

            dataTypeFascade            = new DataTypeFascade();
            reflectionFascade          = new ReflectionFascade(dataTypeFascade);
            configurationRoot          = LoadAppConfigFile(APP_CONFIG_FILE_NAME);
            appConfigFascade           = new AppConfigFascade(configurationRoot, dataTypeFascade);
            assemblyInformationFascade = new AssemblyInformationFascade(reflectionFascade, Assembly.GetEntryAssembly());

            dependencyManager.AddResolution <IConfigurationRoot>(string.Empty, false, new SingletonWrapperDependencyResolution <IConfigurationRoot>(new InstanceDependencyResolution <IConfigurationRoot>(configurationRoot)));
            dependencyManager.AddResolution <IDataTypeFascade>(string.Empty, false, new SingletonWrapperDependencyResolution <IDataTypeFascade>(new InstanceDependencyResolution <IDataTypeFascade>(dataTypeFascade)));
            dependencyManager.AddResolution <IReflectionFascade>(string.Empty, false, new SingletonWrapperDependencyResolution <IReflectionFascade>(new InstanceDependencyResolution <IReflectionFascade>(reflectionFascade)));
            dependencyManager.AddResolution <IAppConfigFascade>(string.Empty, false, new SingletonWrapperDependencyResolution <IAppConfigFascade>(new InstanceDependencyResolution <IAppConfigFascade>(appConfigFascade)));
            dependencyManager.AddResolution <IAssemblyInformationFascade>(string.Empty, false, new SingletonWrapperDependencyResolution <IAssemblyInformationFascade>(new InstanceDependencyResolution <IAssemblyInformationFascade>(assemblyInformationFascade)));
        }
示例#2
0
		public void ShouldFailOnDataTypeFascadeCreateTest()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = null;

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);
		}
示例#3
0
		public void ShouldFailOnNonExistKeyGetTypedCharTest()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = "NotThereAppConfigFascadeValueChar";

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			Expect.On(mockConfigurationRoot).One.GetProperty(p => p[KEY]).WillReturn(null);

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			appConfigFascade.GetAppSetting<Char>(KEY);
		}
示例#4
0
		public void ShouldFailOnInvalidValueGetUntypedUInt64Test()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = "BadAppConfigFascadeValueUInt64";
			Type __unusedType = null;
			string __unusedString = null;
			object __unusedUInt64;
			Type valueType = typeof(UInt64);

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			Expect.On(mockConfigurationRoot).One.GetProperty(p => p[KEY]).WillReturn(UNATTAINABLE_VALUE);
			Expect.On(mockDataTypeFascade).One.Method(m => m.TryParse(__unusedType, __unusedString, out __unusedUInt64)).With(valueType, UNATTAINABLE_VALUE, new AndMatcher(new ArgumentsMatcher.OutMatcher(), new AlwaysMatcher(true, string.Empty))).WillReturn(false);

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			appConfigFascade.GetAppSetting(valueType, KEY);
		}
示例#5
0
		public void ShouldFailOnInvalidValueGetTypedBooleanTest()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = "BadAppConfigFascadeValueBoolean";
			string __unusedString = null;
			Boolean __unusedBoolean;

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			Expect.On(mockConfigurationRoot).One.GetProperty(p => p[KEY]).WillReturn(UNATTAINABLE_VALUE);
			Expect.On(mockDataTypeFascade).One.Method(m => m.TryParse<Boolean>(__unusedString, out __unusedBoolean)).With(UNATTAINABLE_VALUE, new AndMatcher(new ArgumentsMatcher.OutMatcher(), new AlwaysMatcher(true, string.Empty))).WillReturn(false);

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			appConfigFascade.GetAppSetting<Boolean>(KEY);
		}
示例#6
0
		public void ShouldHaveTrueHasAppSettingTest()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = "AppConfigFascadeValueBoolean";
			bool expected, value;

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			expected = true;

			Expect.On(mockConfigurationRoot).One.GetProperty(p => p[KEY]).WillReturn(UNATTAINABLE_VALUE);

			value = appConfigFascade.HasAppSetting(KEY);

			Assert.AreEqual(expected, value);
		}
示例#7
0
		public void ShouldGetUntypedUInt64Test()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = "AppConfigFascadeValueUInt64";
			UInt64 expected;
			object value;
			Type __unusedType = null;
			string __unusedString = null;
			object __unusedUInt64;
			Type valueType = typeof(UInt64);

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			expected = 0L;

			Expect.On(mockConfigurationRoot).One.GetProperty(p => p[KEY]).WillReturn(UNATTAINABLE_VALUE);
			Expect.On(mockDataTypeFascade).One.Method(m => m.TryParse(__unusedType, __unusedString, out __unusedUInt64)).With(valueType, UNATTAINABLE_VALUE, new AndMatcher(new ArgumentsMatcher.OutMatcher(), new AlwaysMatcher(true, string.Empty))).Will(new SetNamedParameterAction("result", expected), Return.Value(true));

			value = appConfigFascade.GetAppSetting(valueType, KEY);

			Assert.AreEqual(expected, value);
		}
示例#8
0
		public void ShouldGetTypedEnumTest()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = "AppConfigFascadeValueEnum";
			CharSet expected, value;
			Type __unusedType = null;
			string __unusedString = null;
			CharSet __unusedCharSet;

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			expected = CharSet.Unicode;

			Expect.On(mockConfigurationRoot).One.GetProperty(p => p[KEY]).WillReturn(UNATTAINABLE_VALUE);
			Expect.On(mockDataTypeFascade).One.Method(m => m.TryParse<CharSet>(__unusedString, out __unusedCharSet)).With(UNATTAINABLE_VALUE, new AndMatcher(new ArgumentsMatcher.OutMatcher(), new AlwaysMatcher(true, string.Empty))).Will(new SetNamedParameterAction("result", expected), Return.Value(true));

			value = appConfigFascade.GetAppSetting<CharSet>(KEY);

			Assert.AreEqual(expected, value);
		}
示例#9
0
		public void ShouldFailOnNullTypeGetUntypedAppSettingTest()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = "";
			Type valueType = null;

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			appConfigFascade.GetAppSetting(valueType, KEY);
		}
示例#10
0
		public void ShouldFailOnNullKeyHasAppSettingTest()
		{
			AppConfigFascade appConfigFascade;
			IConfigurationRoot mockConfigurationRoot;
			IDataTypeFascade mockDataTypeFascade;
			MockFactory mockFactory;
			const string KEY = null;

			mockFactory = new MockFactory();
			mockConfigurationRoot = mockFactory.CreateInstance<IConfigurationRoot>();
			mockDataTypeFascade = mockFactory.CreateInstance<IDataTypeFascade>();

			appConfigFascade = new AppConfigFascade(mockConfigurationRoot, mockDataTypeFascade);

			appConfigFascade.HasAppSetting(KEY);
		}