예제 #1
0
        public void Resolve_uses_proxied_resolver_when_request_is_not_for_a_string([Frozen, ResolvesToFailure] IResolver proxiedResolver,
                                                                                   RegisteredNameInjectingResolverProxy sut)
        {
            // Arrange
            var request = new ResolutionRequest(typeof(ISampleService));

            // Act
            var result = sut.Resolve(request);

            // Assert
            Mock.Get(proxiedResolver)
            .Verify(x => x.Resolve(request), Times.Once);
        }
예제 #2
0
        public void Resolve_gets_registered_name_when_request_is_for_registeredName([Frozen, ResolvesToFailure] IResolver proxiedResolver,
                                                                                    RegisteredNameInjectingResolverProxy sut,
                                                                                    IServiceRegistration currentReg,
                                                                                    string registeredName)
        {
            // Arrange
            var path    = new ResolutionPath(currentReg);
            var request = new ResolutionRequest(typeof(string), "registeredName", path);

            Mock.Get(currentReg).SetupGet(x => x.Name).Returns(registeredName);

            // Act
            var result = sut.Resolve(request);

            // Assert
            Mock.Get(proxiedResolver).Verify(x => x.Resolve(request), Times.Never);
            Assert.That(result.ResolvedObject, Is.EqualTo(registeredName));
        }