Exemplo n.º 1
0
        public async Task FourLevelProperty()
        {
            await StartSTATask(() =>
            {
                var textBlock = RegisterFrameworkElement <TextBlock>(TextBox.TextProperty, "Dto.Dto2.Dto3.Value");

                var expectedValue = Dto3Mock.ValueDisplayName;

                Assert.NotEqual(expectedValue, textBlock.Text);
                var viewModel         = new ViewModelMock();
                textBlock.DataContext = viewModel;
                Assert.NotEqual(expectedValue, textBlock.Text);
                var dto       = new DtoMock();
                viewModel.Dto = dto;
                Assert.NotEqual(expectedValue, textBlock.Text);
                var dto2 = new Dto2Mock();
                dto.Dto2 = dto2;
                Assert.NotEqual(expectedValue, textBlock.Text);
                dto2.Dto3 = new Dto3Mock();
                Assert.Equal(expectedValue, textBlock.Text);

                dto2.Dto3 = null;
                Assert.NotEqual(expectedValue, textBlock.Text);
            });
        }
Exemplo n.º 2
0
        public async Task ThreeLevelPropertyWithoutDisplay()
        {
            await StartSTATask(() =>
            {
                DisplayExtension.NonAttrributePrefix = "prefix:";
                DisplayExtension.NonAttrributeSufix  = ":sufix";
                var textBlock = RegisterFrameworkElement <TextBlock>(TextBox.TextProperty, "Dto.Dto2.Dto3WithoutDisplayAttribute");

                string expectedValue = DisplayExtension.NonAttrributePrefix + "Dto3WithoutDisplayAttribute" + DisplayExtension.NonAttrributeSufix;

                Assert.NotEqual(expectedValue, textBlock.Text);
                Assert.Equal("", textBlock.Text);
                var viewModel = new ViewModelMock
                {
                    Dto = new DtoMock
                    {
                        Dto2 = new Dto2Mock()
                    }
                };
                textBlock.DataContext = viewModel;
                Assert.Equal(expectedValue, textBlock.Text);
            });
        }