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

			var foo = locator.GetExports(typeof(Foo)).FirstOrDefault();

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

            var foo = locator.GetExports <Foo>().FirstOrDefault();

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

            var instances = locator.GetExports(typeof(Foo)).ToList();

            Assert.Empty(instances);
        }
예제 #4
0
        public void when_getting_typed_exports_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.GetExports <Foo, IDictionary <string, object> >().FirstOrDefault();

            Assert.NotNull(foo);
            Assert.Equal("asdf", foo.Metadata["Id"]);
        }
예제 #5
0
		public void when_getting_exports_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.GetExports(typeof(Foo), typeof(IDictionary<string, object>)).FirstOrDefault();

			Assert.NotNull (foo);
			Assert.Equal ("asdf", ((IDictionary<string, object>)foo.Metadata)["Id"]);
		}
예제 #6
0
        public void when_getting_exports_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.GetExports(typeof(Foo), typeof(IFooMetadata)).FirstOrDefault();

            Assert.NotNull(foo);
            Assert.Equal("asdf", ((IFooMetadata)foo.Metadata).Id);
        }
예제 #7
0
		public void when_getting_typed_exports_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.GetExports<Foo, IFooMetadata>().FirstOrDefault();

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

			var instances = locator.GetExports (typeof (Foo)).ToList ();

			Assert.Equal (0, instances.Count);
		}