Exemplo n.º 1
0
        public void LinkOneWayToTarget_SetSourceProperty_TargetPropertyIsUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.SourceText = "Test";

            Assert.Equal("Test", targetTestData.TargetText);
        }
Exemplo n.º 2
0
        public void LinkOneWayToTarget_InitialSourcePropertySetBeforeLinking_TargetPropertyIsUpdated()
        {
            var sourceTestData = new SourceTestData {
                SourceText = "Test"
            };
            var targetTestData = new TargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            Assert.Equal("Test", targetTestData.TargetText);
        }
Exemplo n.º 3
0
        public void LinkOneWayFromTarget_SetTargetProperty_SourcePropertyIsUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.SourceName = "Test";

            Assert.Equal("Test", targetTestData.FromSourceName);
        }
Exemplo n.º 4
0
        public void LinkOneWayFromTarget_InitialSourcePropertySetBeforeLinking_TargetPropertyIsNotUpdated()
        {
            var sourceTestData = new SourceTestData {
                SourceName = "Test"
            };
            var targetTestData = new TargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            Assert.Null(targetTestData.TargetName);
        }
Exemplo n.º 5
0
        public void LinkOneWayToTarget_InitialTargetPropertySetBeforeLinking_SourcePropertyIsNotUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData {
                TargetText = "Test"
            };

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            Assert.Null(sourceTestData.SourceText);
        }
Exemplo n.º 6
0
        public void LinkOneWayFromTarget_InitialTargetPropertySetBeforeLinking_SourcePropertyIsUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData {
                TargetName = "Hello"
            };

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            Assert.Equal("Hello", sourceTestData.SourceName);
        }
Exemplo n.º 7
0
        public void LinkTwoWay_SetPropertyWithConverterOnNotConvertibleValue_LinkedPropertyIsNotUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.SecondIntValue = 1;
            targetTestData.DoubleValue    = 1234;

            Assert.Equal(1, sourceTestData.SecondIntValue);
        }
Exemplo n.º 8
0
        public void LinkTwoWay_SetPropertyWithConverterToNotConvertibleValue_LinkedPropertyIsNotUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.IntValue    = 1234;
            targetTestData.StringValue = "Hello";

            Assert.Equal(1234, sourceTestData.IntValue);
        }
Exemplo n.º 9
0
        public void Dispose_SetSourcePropertyAfterDispose_TargetPropertyIsNotUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData();

            var link = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            link.Dispose();

            sourceTestData.SourceText = "Test";

            Assert.Null(targetTestData.TargetText);
        }
Exemplo n.º 10
0
        public void NullableTargetConverter_SetNullableProperty_PropertyIsSet()
        {
            var sourceTestData = new NewSourceTestData();
            var targetTestData = new NewTargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.IsVisible = true;

            Assert.True(targetTestData.IsVisible);

            sourceTestData.IsVisible = false;

            Assert.False(targetTestData.IsVisible);
        }
Exemplo n.º 11
0
        public void LinkTwoWay_SetPropertyWithConverter_LinkedPropertyIsUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new TargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.IntValue = 5678;

            Assert.Equal("5678", targetTestData.StringValue);

            targetTestData.StringValue = "1234";

            Assert.Equal(1234, sourceTestData.IntValue);
        }
Exemplo n.º 12
0
        public void NullableSourceConverter_SetProperty_NullablePropertyIsSet()
        {
            var sourceTestData = new NewSourceTestData();
            var targetTestData = new NewTargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            targetTestData.IsChecked = true;

            Assert.True(sourceTestData.IsChecked);

            targetTestData.IsChecked = false;

            Assert.False(sourceTestData.IsChecked);
        }
Exemplo n.º 13
0
        public void LinkOneWayToTarget_InitialPropertiesSetBeforeLinking_TargetPropertyIsUpdated()
        {
            var sourceTestData = new NewSourceTestData {
                InitialText = "Test"
            };
            var targetTestData = new NewTargetTestData {
                InitialText = "1234"
            };

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            Assert.Equal("1234", sourceTestData.InitialText);

            sourceTestData.InitialText = "abc";
            Assert.Equal("abc", targetTestData.InitialText);
        }
Exemplo n.º 14
0
        public void LinkTwoWay_SetPropertyOnInheritedClass_LinkedPropertyIsUpdated()
        {
            var sourceTestData = new SourceTestData();
            var targetTestData = new NewTargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.TwoWayProperty = "Test";

            Assert.Equal("Test", targetTestData.TwoWayProperty);
            Assert.Equal("Test", sourceTestData.TwoWayProperty);

            targetTestData.TwoWayProperty = "1234";

            Assert.Equal("1234", sourceTestData.TwoWayProperty);
            Assert.Equal("1234", targetTestData.TwoWayProperty);
        }
Exemplo n.º 15
0
        public void NullableSourceConverter_SetNullablePropertyWithDefault_PropertyIsSet()
        {
            var sourceTestData = new NewSourceTestData();
            var targetTestData = new NewTargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.BoolWithDefault = true;

            Assert.True(targetTestData.BoolWithDefault);

            sourceTestData.BoolWithDefault = false;

            Assert.False(targetTestData.BoolWithDefault);

            sourceTestData.BoolWithDefault = null;

            Assert.True(targetTestData.BoolWithDefault);
        }
Exemplo n.º 16
0
        public void LinkTwoWay_SetPropertyOnBothInheritedClasses_LinkedPropertyIsUpdated()
        {
            var sourceTestData = new NewSourceTestData();
            var targetTestData = new NewTargetTestData();

            var _ = new ObjectLinkBuilder(sourceTestData, targetTestData).Build();

            sourceTestData.TwoWayProperty = "Test";
            sourceTestData.SourceName     = "HelloWorld";

            Assert.Equal("Test", targetTestData.TwoWayProperty);
            Assert.Equal("Test", sourceTestData.TwoWayProperty);
            Assert.Equal("HelloWorld", targetTestData.FromSourceNameTwoWay);
            Assert.Equal("HelloWorld", sourceTestData.SourceName);

            targetTestData.TwoWayProperty       = "1234";
            targetTestData.FromSourceNameTwoWay = "abcd";

            Assert.Equal("1234", sourceTestData.TwoWayProperty);
            Assert.Equal("1234", targetTestData.TwoWayProperty);
            Assert.Equal("abcd", targetTestData.FromSourceNameTwoWay);
            Assert.Equal("abcd", sourceTestData.SourceName);
        }
Exemplo n.º 17
0
 public ViewModelBase(TModel model)
 {
     Model     = model;
     ModelLink = new ObjectLinkBuilder(model, this).Build();
 }
 protected RibbonCommandControlViewModel(ActionViewModel action)
 {
     Action     = action;
     ActionLink = new ObjectLinkBuilder(action, this).Build();
 }