public void GetServices_WithUnrelatedFuncs_ReturnsEmptyList() {
            // arrange
            var builder = new ContainerBuilder();
            var container = builder.Build();
            var resolver = new AutofacDependencyResolver(container);

            var registrations = new List<Func<object>>();
            registrations.Add(() => new SimpleType());
            registrations.Add(() => new AnotherType());
            resolver.Register(typeof(ISomeType), registrations);

            // act
            var result = resolver.GetServices(typeof(INotUsed));

            Assert.False(result.Any());
        }
        public void Register_WithOneFunc_ReturnsDistinctItemsEachTime() {
            // arrange
            var builder = new ContainerBuilder();
            var container = builder.Build();
            var resolver = new AutofacDependencyResolver(container);
            
            // act
            resolver.Register(typeof(ISomeType), () => new SimpleType());
            var firstSet = resolver.GetService(typeof(ISomeType));
            var secondSet = resolver.GetService(typeof(ISomeType));

            Assert.NotSame(firstSet, secondSet);
        }
        public void Register_WithOneFunc_ReturnsNotNullResult() {
            // arrange
            var builder = new ContainerBuilder();
            var container = builder.Build();
            var resolver = new AutofacDependencyResolver(container);

            // act
            resolver.Register(typeof(ISomeType), () => new SimpleType());
            var result = resolver.GetService(typeof(ISomeType));

            Assert.NotNull(result);
        }