public void TestConverterDoesNotThrow() { var nativeView = new MockNativeView(); Assert.AreEqual(null, nativeView.Foo); Assert.AreEqual(0, nativeView.Bar); var vm = new MockVMForNativeBinding(); var converter = new MockCustomColorConverter(); nativeView.SetBinding("SelectedColor", new Binding("CColor", converter: converter)); Assert.DoesNotThrow(() => nativeView.SetBindingContext(vm)); }
public void TestConverterWorks() { var nativeView = new MockNativeView(); Assert.AreEqual(null, nativeView.Foo); Assert.AreEqual(0, nativeView.Bar); var vm = new MockVMForNativeBinding(); vm.CColor = Color.Red; var converter = new MockCustomColorConverter(); nativeView.SetBinding("SelectedColor", new Binding("CColor", converter: converter)); nativeView.SetBindingContext(vm); Assert.AreEqual(vm.CColor, nativeView.SelectedColor.FormsColor); }
public void TestConverter2WayWorks() { var nativeView = new MockNativeView(); Assert.AreEqual(null, nativeView.Foo); Assert.AreEqual(0, nativeView.Bar); var inpc = new MockINPC(); var vm = new MockVMForNativeBinding(); vm.CColor = Color.Red; var converter = new MockCustomColorConverter(); nativeView.SetBinding("SelectedColor", new Binding("CColor", BindingMode.TwoWay, converter), inpc); nativeView.SetBindingContext(vm); Assert.AreEqual(vm.CColor, nativeView.SelectedColor.FormsColor); var newFormsColor = Color.Blue; var newColor = new MockNativeColor(newFormsColor); nativeView.SelectedColor = newColor; inpc.FireINPC(nativeView, nameof(nativeView.SelectedColor)); Assert.AreEqual(newFormsColor, vm.CColor); }