public void WritesTempDataFromTempDataDictionary_WithoutKeyPrefix()
    {
        // Arrange
        var httpContext = new DefaultHttpContext();
        var tempData    = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>());

        var filter     = CreateControllerSaveTempDataPropertyFilter(httpContext, tempData: tempData);
        var controller = new TestController();

        var controllerType = controller.GetType();
        var property1      = controllerType.GetProperty(nameof(TestController.Test));
        var property2      = controllerType.GetProperty(nameof(TestController.Test2));

        filter.Properties = new[]
        {
            new LifecycleProperty(property1, "Test"),
            new LifecycleProperty(property2, "Test2"),
        };

        var context = new ActionExecutingContext(
            new ActionContext
        {
            HttpContext      = httpContext,
            RouteData        = new RouteData(),
            ActionDescriptor = new ActionDescriptor(),
        },
            new List <IFilterMetadata>(),
            new Dictionary <string, object>(),
            controller);

        // Act
        filter.OnActionExecuting(context);
        controller.Test  = "New-Value";
        controller.Test2 = 42;

        filter.OnTempDataSaving(tempData);

        // Assert
        Assert.Collection(
            tempData.OrderBy(i => i.Key),
            item =>
        {
            Assert.Equal(nameof(TestController.Test), item.Key);
            Assert.Equal("New-Value", item.Value);
        },
            item =>
        {
            Assert.Equal(nameof(TestController.Test2), item.Key);
            Assert.Equal(42, item.Value);
        });
    }