コード例 #1
0
        public void GetInstance_WithConcreteUncreatableType_ResolvesTypeUsingEvent()
        {
            // Arrange
            var  expectedInstance = new RealUserService(new SqlUserRepository());
            bool eventCalled      = false;

            var container = ContainerFactory.New();

            container.ResolveUnregisteredType += (s, e) =>
            {
                e.Register(() => expectedInstance);
                eventCalled = true;
            };

            // Act
            // IUserRepository wasn't registered. Therefore, the concrete RealUserService type can not be
            // created without unregistered type resolution.
            var actualInstance = container.GetInstance <RealUserService>();

            // Assert
            Assert.IsTrue(eventCalled, "The type is expected be resolved by the registered delegate.");
            Assert.AreEqual(expectedInstance, actualInstance);
        }
コード例 #2
0
ファイル: TestClasses.cs プロジェクト: msiyer/SimpleInjector
 public ConcreteTypeWithConcreteTypeConstructorArgument(RealUserService userService)
 {
 }