Ejemplo n.º 1
0
        public void ServiceCollectionContainsPublicClassesWhenUsedGenerically()
        {
            var collection      = new ServiceCollection();
            var eqalityComparer = new ServiceDescriptorEqualityComparer();

            collection.AddAssembly(this);

            var descriptor = new ServiceDescriptor(typeof(IProviderB), typeof(ProviderBC), ServiceLifetime.Transient);

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor(typeof(IProviderC), typeof(ProviderBC), ServiceLifetime.Transient);

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor(typeof(ProviderBC), typeof(ProviderBC), ServiceLifetime.Transient);

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor(typeof(IProviderD), typeof(ProviderDE), ServiceLifetime.Scoped);

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor(typeof(IProviderE), typeof(ProviderDE), ServiceLifetime.Scoped);

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor(typeof(ProviderDE), typeof(ProviderDE), ServiceLifetime.Scoped);

            Assert.DoesNotContain(descriptor, collection, eqalityComparer);
        }
Ejemplo n.º 2
0
        public void ServiceCollectionIncludesProviderA()
        {
            var collection      = new ServiceCollection();
            var eqalityComparer = new ServiceDescriptorEqualityComparer();

            collection.AddAssembly(this);

            var descriptor = new ServiceDescriptor(typeof(IProviderA), typeof(ProviderA), ServiceLifetime.Singleton);

            Assert.Contains(descriptor, collection, eqalityComparer);
        }
Ejemplo n.º 3
0
        public void ServiceCollectionIncludesService2()
        {
            var collection      = new ServiceCollection();
            var eqalityComparer = new ServiceDescriptorEqualityComparer();

            collection.AddAssembly(this);

            var descriptor = new ServiceDescriptor(typeof(IService2), typeof(Service2), ServiceLifetime.Scoped);

            Assert.Contains(descriptor, collection, eqalityComparer);
        }
        public void ServiceCollectionIncludsOpenProviderA()
        {
            var collection      = new ServiceCollection();
            var eqalityComparer = new ServiceDescriptorEqualityComparer();

            collection.AddAssembly(this);

            var descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(IOpenProviderA <,>),
                ImplementationType = typeof(OpenProviderA <,>),
                Lifecycle          = LifecycleKind.Singleton
            };

            Assert.Contains(descriptor, collection, eqalityComparer);
        }
        public void ServiceCollectionIncludesService2()
        {
            var collection      = new ServiceCollection();
            var eqalityComparer = new ServiceDescriptorEqualityComparer();

            collection.AddAssembly(this);

            var descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(IService2),
                ImplementationType = typeof(Service2),
                Lifecycle          = LifecycleKind.Scoped
            };

            Assert.Contains(descriptor, collection, eqalityComparer);
        }
        public void RegisterServices_registers_same_services()
        {
            // Arrange
            var sc1 = new ServiceCollection();
            var sc2 = new ServiceCollection();

            sc1.AddMediatR(typeof(RegistrationsTests));
            var comparer = new ServiceDescriptorEqualityComparer();

            // Act
            sc2.AddMediatRSourceGeneration();

            // Assert
            Assert.All(sc1, descriptor =>
            {
                Assert.Contains(sc2, serviceDescriptor => comparer.Equals(descriptor, serviceDescriptor));
            });
        }
        public void ServiceCollectionContainsPublicClassesWhenUsedGenerically()
        {
            var collection      = new ServiceCollection();
            var eqalityComparer = new ServiceDescriptorEqualityComparer();

            collection.AddAssembly(this);

            var descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(IProviderB),
                ImplementationType = typeof(ProviderBC),
                Lifecycle          = LifecycleKind.Transient
            };

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(IProviderC),
                ImplementationType = typeof(ProviderBC),
                Lifecycle          = LifecycleKind.Transient
            };

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(ProviderBC),
                ImplementationType = typeof(ProviderBC),
                Lifecycle          = LifecycleKind.Transient
            };

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(IProviderD),
                ImplementationType = typeof(ProviderDE),
                Lifecycle          = LifecycleKind.Scoped
            };

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(IProviderE),
                ImplementationType = typeof(ProviderDE),
                Lifecycle          = LifecycleKind.Scoped
            };

            Assert.Contains(descriptor, collection, eqalityComparer);

            descriptor = new ServiceDescriptor()
            {
                ServiceType        = typeof(ProviderDE),
                ImplementationType = typeof(ProviderDE),
                Lifecycle          = LifecycleKind.Scoped
            };

            Assert.DoesNotContain(descriptor, collection, eqalityComparer);
        }