public void TestSelectedItemChangeSelectedIndex() { var obj = new PickerTestsContextFixture("John", "John"); var bindingContext = new PickerTestsBindingContext { Items = new ObservableCollection <object> { obj }, }; var picker = new Picker { BindingContext = bindingContext, ItemDisplayBinding = new Binding("DisplayName"), }; picker.SetBinding(Picker.ItemsSourceProperty, "Items"); picker.SetBinding(Picker.SelectedItemProperty, "SelectedItem"); Assert.AreEqual(1, picker.Items.Count); Assert.AreEqual(-1, picker.SelectedIndex); Assert.AreEqual(null, picker.SelectedItem); picker.SelectedItem = obj; Assert.AreEqual(0, picker.SelectedIndex); Assert.AreEqual(obj, picker.SelectedItem); picker.SelectedIndex = -1; Assert.AreEqual(-1, picker.SelectedIndex); Assert.AreEqual(null, picker.SelectedItem); }
public void TestDisplayConverter() { var obj = new PickerTestsContextFixture("John", "John Doe"); var converter = new PickerTestValueConverter(); var picker = new Picker { ItemDisplayBinding = new Binding(Binding.SelfPath, converter: converter), ItemsSource = new ObservableCollection <object> { obj } }; Assert.IsTrue(converter.ConvertCalled); Assert.AreEqual("John", picker.Items[0]); }
public void TestNestedDisplayMemberPathExpression() { var obj = new PickerTestsContextFixture { Nested = new PickerTestsContextFixture.PickerTestsNestedClass { Nested = "NestedProperty" } }; var picker = new Picker { ItemDisplayBinding = new Binding("Nested.Nested"), ItemsSource = new ObservableCollection <object> { obj }, SelectedIndex = 0 }; Assert.AreEqual("NestedProperty", picker.Items[0]); }