Esempio n. 1
0
        public void OnPageExecuting_SetsPropertyValue()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();

            var tempData = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>())
            {
                { "TempDataProperty-Test", "Value" }
            };

            var pageModel = new TestPageModel();

            var filter = CreatePageSaveTempDataPropertyFilter(tempData, "TempDataProperty-");

            filter.Subject = pageModel;

            var context = new PageHandlerExecutingContext(
                new PageContext()
            {
                ActionDescriptor = new CompiledPageActionDescriptor(),
                HttpContext      = httpContext,
                RouteData        = new RouteData(),
            },
                Array.Empty <IFilterMetadata>(),
                null,
                new Dictionary <string, object>(),
                pageModel);

            // Act
            filter.OnPageHandlerExecuting(context);

            // Assert
            Assert.Equal("Value", pageModel.Test);
            Assert.Null(pageModel.Test2);
        }
Esempio n. 2
0
        public void OnTempDataSaving_PopulatesTempDataWithNewValuesFromPageProperties()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();

            var tempData = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>())
            {
                ["TempDataProperty-Test"] = "Old-Value",
            };
            var pageModel = new TestPageModel()
            {
                Test  = "TestString",
                Test2 = "Test2",
            };

            var filter = CreatePageSaveTempDataPropertyFilter(tempData, "TempDataProperty-");

            filter.Subject = pageModel;

            // Act
            filter.OnTempDataSaving(tempData);

            // Assert
            Assert.Equal("TestString", tempData["TempDataProperty-Test"]);
            Assert.False(tempData.ContainsKey("TestDataProperty-Test2"));
        }
Esempio n. 3
0
        public void OnTempDataSaving_WritesToTempData_WithoutPrefix()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();

            var tempData = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>())
            {
                ["Test"] = "Old-Value",
            };
            var pageModel = new TestPageModel
            {
                Test = "New-Value",
            };

            var filter = CreatePageSaveTempDataPropertyFilter(tempData, string.Empty);

            filter.Subject = pageModel;

            // Act
            filter.OnTempDataSaving(tempData);

            // Assert
            Assert.Collection(
                tempData,
                item =>
            {
                Assert.Equal("Test", item.Key);
                Assert.Equal("New-Value", item.Value);
            });
        }
Esempio n. 4
0
        public App()
        {
            InitializeComponent();

            var viewModel = new TestPageModel();

            MainPage = new TestPage()
            {
                ViewModel = viewModel
            };
        }
Esempio n. 5
0
        public void OnPageExecuting_InitializesAndSavesProperties()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();

            var tempData = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>())
            {
                { "TempDataProperty-Test", "Value" }
            };

            tempData.Save();

            var pageModel = new TestPageModel();

            var filter = CreatePageSaveTempDataPropertyFilter(tempData);

            filter.Subject = pageModel;

            var factory = filter.FilterFactory;

            var pageType      = typeof(TestPageModel);
            var testProperty  = pageType.GetProperty(nameof(TestPageModel.Test));
            var test2Property = pageType.GetProperty(nameof(TestPageModel.Test2));

            filter.Properties = new List <TempDataProperty>
            {
                new TempDataProperty("TempDataProperty-Test", testProperty, testProperty.GetValue, testProperty.SetValue),
                new TempDataProperty("TempDataProperty-Test2", test2Property, test2Property.GetValue, test2Property.SetValue)
            };

            var context = new PageHandlerExecutingContext(
                new PageContext()
            {
                ActionDescriptor = new CompiledPageActionDescriptor(),
                HttpContext      = httpContext,
                RouteData        = new RouteData(),
            },
                Array.Empty <IFilterMetadata>(),
                null,
                new Dictionary <string, object>(),
                pageModel);

            // Act
            filter.OnPageHandlerExecuting(context);

            // Assert
            Assert.Collection(
                filter.Properties.OrderBy(p => p.PropertyInfo.Name),
                p => Assert.Equal(testProperty, p.PropertyInfo),
                p => Assert.Equal(test2Property, p.PropertyInfo));

            Assert.Same(filter.Properties, factory.Properties);
        }
Esempio n. 6
0
        public ActionResult IncrementCounts()
        {
            TestPageModel mdl = this.GetModel();

            return(Content(
                       string.Format(
                           "{{ \"count\": {0}, \"safeCount\": {1}, \"listCount\": {2} }}",
                           mdl.Count,
                           mdl.SafeCount,
                           mdl.ListCount),
                       "application/json"));
        }
Esempio n. 7
0
 public TestViewModel()
 {
     TestModel             = new TestPageModel();
     _database             = new DatabaseService();
     _selectionChanged     = new SelectionChanged();
     Vocables              = GetVocables(SelectViewModel.SelectedModulIDs);
     TestModel.Modul_Names = new ObservableCollection <string>();
     Title        = "Click play to start a test!";
     SelectedIDs  = SelectViewModel.SelectedModulIDs;
     SelectedMode = new SelectedMode();
     SelectionChanged.SelecedIDsChanged += RefreshSelection;
 }
Esempio n. 8
0
        private TestPageModel GetModel()
        {
            this.Session["count"] = (int)this.Session["count"] + 1;


            SafelyIncrementableIntHolder safeInt = this.Session["safeCount"] as SafelyIncrementableIntHolder;
            int safeResult = safeInt.Increment();

            LockedList sessList = this.Session["listCount"] as LockedList;

            sessList.Add(0);


            TestPageModel mdl = new TestPageModel
            {
                Count     = (int)this.Session["count"],
                SafeCount = safeResult,
                ListCount = sessList.Count
            };

            return(mdl);
        }