예제 #1
0
        public void when_getting_missing_export_then_throws()
        {
            var container = new CompositionContainer();
            var locator   = new ServiceLocatorImpl(Mock.Of <IServiceProvider>(), new Lazy <ExportProvider>(() => container));

            Assert.Throws <MissingDependencyException>(() => locator.GetExport(typeof(Foo)));
        }
예제 #2
0
        public void when_getting_typed_export_then_succeeds()
        {
            var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
            var locator   = new ServiceLocatorImpl(Mock.Of <IServiceProvider>(), new Lazy <ExportProvider>(() => container));

            var foo = locator.GetExport <Foo>();

            Assert.NotNull(foo);
        }
예제 #3
0
		public void when_getting_export_then_succeeds ()
		{
			var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
			var locator = new ServiceLocatorImpl(Mock.Of<IServiceProvider>(), new Lazy<ExportProvider>(() => container));

			var foo = locator.GetExport(typeof(Foo));

			Assert.NotNull (foo);
		}
예제 #4
0
        public void when_getting_typed_export_with_metadata_dictionary_then_succeeds()
        {
            var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
            var locator   = new ServiceLocatorImpl(Mock.Of <IServiceProvider>(), new Lazy <ExportProvider>(() => container));

            var foo = locator.GetExport <Foo, IDictionary <string, object> >();

            Assert.NotNull(foo);
            Assert.Equal("asdf", foo.Metadata["Id"]);
        }
예제 #5
0
		public void when_getting_export_with_metadata_dictionary_then_succeeds ()
		{
			var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
			var locator = new ServiceLocatorImpl(Mock.Of<IServiceProvider>(), new Lazy<ExportProvider>(() => container));

			var foo = locator.GetExport(typeof(Foo), typeof(IDictionary<string, object>));

			Assert.NotNull (foo);
			Assert.Equal ("asdf", ((IDictionary<string, object>)foo.Metadata)["Id"]);
		}
예제 #6
0
        public void when_getting_export_with_metadata_then_succeeds()
        {
            var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
            var locator   = new ServiceLocatorImpl(Mock.Of <IServiceProvider>(), new Lazy <ExportProvider>(() => container));

            var foo = locator.GetExport(typeof(Foo), typeof(IFooMetadata));

            Assert.NotNull(foo);
            Assert.Equal("asdf", ((IFooMetadata)foo.Metadata).Id);
        }
예제 #7
0
		public void when_getting_typed_export_with_metadata_then_succeeds ()
		{
			var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
			var locator = new ServiceLocatorImpl(Mock.Of<IServiceProvider>(), new Lazy<ExportProvider>(() => container));

			var foo = locator.GetExport<Foo, IFooMetadata>();

			Assert.NotNull (foo);
			Assert.Equal ("asdf", foo.Metadata.Id);
		}
예제 #8
0
        public void when_constructing_locator_with_service_provider_then_gets_exports_from_component_model_service()
        {
            var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
            var locator   = new ServiceLocatorImpl(
                Mock.Of <IServiceProvider>(s => s.GetService(typeof(SComponentModel)) ==
                                           Mock.Of <IComponentModel>(c => c.DefaultExportProvider == container)));

            var foo = locator.GetExport <Foo>();

            Assert.NotNull(foo);
        }
예제 #9
0
		public void when_constructing_locator_with_service_provider_then_gets_exports_from_component_model_service ()
		{
			var container = new CompositionContainer(new TypeCatalog(typeof(Foo)));
			var locator = new ServiceLocatorImpl(
				Mock.Of<IServiceProvider>(s => s.GetService(typeof(SComponentModel)) ==
					Mock.Of<IComponentModel>(c => c.DefaultExportProvider == container)));

			var foo = locator.GetExport<Foo>();

			Assert.NotNull (foo);
		}
예제 #10
0
		public void when_getting_missing_export_then_throws ()
		{
			var container = new CompositionContainer();
			var locator = new ServiceLocatorImpl(Mock.Of<IServiceProvider>(), new Lazy<ExportProvider>(() => container));

			Assert.Throws<MissingDependencyException> (() => locator.GetExport (typeof (Foo)));
		}