ProfileMetric Profile3() { var converter = new DummyBooleanToVisibilityConverter(); DateTime startTime = DateTime.UtcNow; for (int i = 0; i < iterations; i++) { var applicator = new BindingApplicator(); var bindingExpression = new BindingExpression { Path = nameof(ViewModelTestClass.Bool1), Target = nameof(ViewTestClass.Visibility), //Converter = "Codon.UI.Data.DummyBooleanToVisibilityConverter, Codon.ApiProfiling" }; var target = new ViewTestClass(); var source = new ViewModelTestClass(); applicator.ApplyBinding(bindingExpression, target, source, converter); } DateTime endTime = DateTime.UtcNow; var duration = endTime - startTime; var metric = new ProfileMetric(); metric.Name = "Converter"; metric.TimeSpan = new TimeSpan(duration.Ticks / iterations); return(metric); }
public void ValueConverterShouldApplyValue() { var applicator = new BindingApplicator(); var bindingExpression = new BindingExpression { Path = nameof(ViewModelTestClass.Bool1), Target = nameof(ViewTestClass.Visibility) }; var target = new ViewTestClass(); var source = new ViewModelTestClass(); var converter = new DummyBooleanToVisibilityConverter(); applicator.ApplyBinding(bindingExpression, target, source, converter); source.Bool1 = true; Assert.AreEqual(DummyVisibility.Visible, target.Visibility, "Changing binding value to true should update Visibility."); source.Bool1 = false; Assert.AreEqual(DummyVisibility.Invisible, target.Visibility, "Changing binding value to false should update Visibility."); }