예제 #1
0
        public void GrpcInterceptorCanBeResolvedFromServiceProvider()
        {
            var interceptor         = new GrpcInterceptor();
            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider
            .Setup(sp => sp.GetService(typeof(GrpcInterceptor)))
            .Returns(interceptor);

            Assert.AreSame(interceptor,
                           new DefaultGrpcInterceptorActivator <GrpcInterceptor>(mockServiceProvider.Object).Create());
        }
예제 #2
0
        public void GrpcInterceptorNotResolvedFromServiceProviderIfExplicitArgsGiven()
        {
            var interceptor         = new GrpcInterceptor();
            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider
            .Setup(sp => sp.GetService(typeof(GrpcInterceptor)))
            .Returns(interceptor);

            var activatedInstance = new DefaultGrpcInterceptorActivator <GrpcInterceptor>(mockServiceProvider.Object).Create(10);

            Assert.AreNotSame(interceptor, activatedInstance);
            Assert.AreEqual(10, ((GrpcInterceptor)activatedInstance).X);
        }
예제 #3
0
        public void Create_ResolvedFromServiceProvider_NotCreatedByActivator()
        {
            // Arrange
            var interceptor         = new GrpcInterceptor();
            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider
            .Setup(sp => sp.GetService(typeof(GrpcInterceptor)))
            .Returns(interceptor);
            var activator = new DefaultGrpcInterceptorActivator <GrpcInterceptor>();

            // Act
            var handle = activator.Create(mockServiceProvider.Object, CreateRegistration <GrpcInterceptor>());

            // Assert
            Assert.AreSame(handle.Instance, interceptor);
            Assert.IsFalse(handle.Created);
        }