Esempio n. 1
0
    public void CreateControllerReleaser_InvokesIControllerFactory_IfItIsNotDefaultControllerFactory()
    {
        // Arrange
        var controller = new object();
        var factory    = new Mock <IControllerFactory>();

        factory.Setup(f => f.ReleaseController(It.IsAny <ControllerContext>(), controller))
        .Verifiable();
        var provider = new ControllerFactoryProvider(
            Mock.Of <IControllerActivatorProvider>(),
            factory.Object,
            Enumerable.Empty <IControllerPropertyActivator>());
        var descriptor = new ControllerActionDescriptor
        {
            ControllerTypeInfo = typeof(object).GetTypeInfo(),
        };

        // Act
        var releaser = provider.CreateControllerReleaser(descriptor);

        releaser(new ControllerContext(), controller);

        // Assert
        factory.Verify();
    }
Esempio n. 2
0
    public void CreateControllerReleaser_ReturnsReleaser()
    {
        // Arrange
        var controller = new object();
        var factory    = new DefaultControllerFactory(
            Mock.Of <IControllerActivator>(),
            Enumerable.Empty <IControllerPropertyActivator>());
        Action <ControllerContext, object> expected = (_, __) => { };
        var activatorProvider = new Mock <IControllerActivatorProvider>();

        activatorProvider.Setup(p => p.CreateReleaser(It.IsAny <ControllerActionDescriptor>()))
        .Returns(expected)
        .Verifiable();
        var provider = new ControllerFactoryProvider(
            activatorProvider.Object,
            factory,
            Enumerable.Empty <IControllerPropertyActivator>());
        var descriptor = new ControllerActionDescriptor
        {
            ControllerTypeInfo = typeof(object).GetTypeInfo(),
        };

        // Act
        var actual = provider.CreateControllerReleaser(descriptor);

        // Assert
        Assert.Same(expected, actual);
        activatorProvider.Verify();
    }