public void Attempt_to_AddNew_for_type_without_parameterless_constructor_throws_if_AddingNew_event_is_not_used() { var obbl = new ObservableBackedBindingList <XText>(new ObservableCollection <XText>()); const BindingFlags bindingAttr = BindingFlags.CreateInstance | BindingFlags.Public | BindingFlags.Instance; Assert.Equal( GenerateException(() => Activator.CreateInstance(typeof(XText), bindingAttr, null, null, null)).Message, Assert.Throws <MissingMethodException>(() => obbl.AddNew()).Message); }
public void Items_canceled_during_AddNew_are_not_added_to_the_ObservableHashSet() { var oc = new ObservableHashSet <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = obbl.AddNew(); obbl.CancelNew(0); Assert.DoesNotContain(item, oc); }
public void Attempt_to_AddNew_on_set_for_abstract_type_works_if_AddingNew_event_is_used_to_create_new_object() { var obbl = new ObservableBackedBindingList <NotXNode>(new ObservableHashSet <NotXNode>()); var item = new NotXText("Some Value"); obbl.AddingNew += (s, e) => e.NewObject = item; obbl.AddNew(); obbl.EndNew(0); Assert.Contains(item, obbl); }
Attempt_to_AddNew_on_set_for_type_without_parameterless_constructor_works_if_AddingNew_event_is_used_to_create_new_object() { var obbl = new ObservableBackedBindingList <NotXText>(new ObservableHashSet <NotXText>()); var item = new NotXText("Some Value"); obbl.AddingNew += (s, e) => e.NewObject = item; obbl.AddNew(); obbl.EndNew(0); Assert.Contains(item, obbl); }
public void Items_added_to_ObservableCollection_are_added_to_binding_list() { var oc = new ObservableCollection <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = new ListElement(1); oc.Add(item); Assert.True(obbl.Contains(item)); }
public void Items_added_to_the_binding_list_with_AddNew_are_added_to_the_ObservableCollection() { var oc = new ObservableCollection <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = obbl.AddNew(); obbl.EndNew(0); Assert.True(oc.Contains(item)); }
public void Items_canceled_during_AddNew_are_not_added_to_the_ObservableCollection() { var oc = new ObservableCollection <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = obbl.AddNew(); obbl.CancelNew(0); Assert.False(oc.Contains(item)); }
public void Items_cleared_in_the_ObservableCollection_are_cleared_in_the_binding_list() { var oc = new ObservableCollection <ListElement> { 3, 1, 4, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); oc.Clear(); Assert.Equal(0, obbl.Count); }
public void Items_inserted_into_the_binding_list_are_added_to_the_ObservableCollection() { var oc = new ObservableCollection <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = new ListElement(7); obbl.Insert(0, item); Assert.True(oc.Contains(item)); }
public void Attempt_to_AddNew_for_type_without_parameterless_constructor_works_if_AddingNew_event_is_used_to_create_new_object() { var obbl = new ObservableBackedBindingList <XText>(new ObservableCollection <XText>()); var item = new XText("Some Value"); obbl.AddingNew += (s, e) => e.NewObject = item; obbl.AddNew(); obbl.EndNew(0); Assert.True(obbl.Contains(item)); }
public void Items_cleared_from_the_binding_list_are_cleared_from_the_ObservableHashSet() { var oc = new ObservableHashSet <ListElement> { 3, 1, 4, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); obbl.Clear(); Assert.Equal(0, oc.Count); }
public void Items_added_to_the_binding_list_are_added_to_the_ObservableHashSet() { var oc = new ObservableHashSet <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = new ListElement(7); obbl.Add(item); Assert.True(oc.Contains(item)); }
public void Items_added_to_the_binding_list_with_AddNew_are_added_to_the_ObservableHashSet() { var oc = new ObservableHashSet <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = obbl.AddNew(); obbl.EndNew(0); Assert.Contains(item, oc); }
public void Items_added_to_ObservableHashSet_are_added_to_binding_list() { var oc = new ObservableHashSet <ListElement>(); var obbl = new ObservableBackedBindingList <ListElement>(oc); var item = new ListElement(1); oc.Add(item); Assert.Contains(item, obbl); }
public void Items_removed_by_index_from_the_binding_list_are_removed_from_the_ObservableHashSet() { var item = new ListElement(4); var oc = new ObservableHashSet <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); obbl.RemoveAt(2); Assert.False(oc.Contains(item)); }
public void Items_removed_from_the_binding_list_are_removed_from_the_ObservableCollection() { var item = new ListElement(4); var oc = new ObservableCollection <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); obbl.Remove(item); Assert.False(oc.Contains(item)); }
public void Adding_duplicate_item_to_the_binding_list_is_ignored() { var item = new ListElement(4); var oc = new ObservableHashSet <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); obbl.Add(item); Assert.Equal(6, oc.Count); Assert.Equal(1, oc.Count(i => ReferenceEquals(i, item))); }
public void Adding_duplicate_item_to_the_ObservableCollection_adds_duplicate_to_the_binding_list() { var item = new ListElement(4); var oc = new ObservableCollection <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); oc.Add(item); Assert.Equal(7, obbl.Count); Assert.Equal(2, obbl.Count(i => ReferenceEquals(i, item))); }
public void Items_removed_from_ObservableHashSet_are_removed_from_binding_list() { var item = new ListElement(4); var oc = new ObservableHashSet <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); oc.Remove(item); Assert.False(obbl.Contains(item)); Assert.Equal(5, obbl.Count); }
public void Items_set_in_the_binding_list_are_replaced_in_the_ObservableHashSet() { var item = new ListElement(4); var oc = new ObservableHashSet <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); var newItem = new ListElement(7); obbl[2] = newItem; Assert.True(oc.Contains(newItem)); Assert.False(oc.Contains(item)); }
public void Items_replaced_in_the_ObservableCollection_are_replaced_in_the_binding_list() { var item = new ListElement(4); var oc = new ObservableCollection <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); var newItem = new ListElement(-4); oc[2] = newItem; Assert.False(obbl.Contains(item)); Assert.True(obbl.Contains(newItem)); Assert.Equal(6, obbl.Count); }
public void Items_cleared_from_the_binding_list_are_cleared_from_the_ObservableCollection() { var oc = new ObservableCollection <ListElement> { 3, 1, 4, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); obbl.Clear(); Assert.Empty(oc); }
public void Items_cleared_in_the_ObservableHashSet_are_cleared_in_the_binding_list() { var oc = new ObservableHashSet <ListElement> { 3, 1, 4, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); oc.Clear(); Assert.Empty(obbl); }
public void Items_removed_by_index_from_the_binding_list_are_removed_from_the_ObservableCollection() { var item = new ListElement(4); var oc = new ObservableCollection <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); obbl.RemoveAt(2); Assert.DoesNotContain(item, oc); }
public void Items_removed_from_the_binding_list_are_removed_from_the_ObservableHashSet() { var item = new ListElement(4); var oc = new ObservableHashSet <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); obbl.Remove(item); Assert.DoesNotContain(item, oc); }
public void Items_removed_from_ObservableCollection_are_removed_from_binding_list() { var item = new ListElement(4); var oc = new ObservableCollection <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); oc.Remove(item); Assert.DoesNotContain(item, obbl); Assert.Equal(5, obbl.Count); }
public void Items_set_in_the_binding_list_are_replaced_in_the_ObservableCollection() { var item = new ListElement(4); var oc = new ObservableCollection <ListElement> { 3, 1, item, 1, 5, 9 }; var obbl = new ObservableBackedBindingList <ListElement>(oc); var newItem = new ListElement(7); obbl[2] = newItem; Assert.Contains(newItem, oc); Assert.DoesNotContain(item, oc); }
/// <summary> /// Returns an <see cref="BindingList{T}" /> implementation that stays in sync with this collection. /// Use this for WinForms data binding. /// </summary> /// <returns> The binding list. </returns> public virtual BindingList <TEntity> ToBindingList() => _bindingList ?? (_bindingList = new ObservableBackedBindingList <TEntity>(ToObservableCollection()));
/// <summary> /// Returns an <see cref="BindingList{T}" /> implementation that stays in sync with this collection. /// </summary> /// <returns> The binding list. </returns> public virtual BindingList <T> ToBindingList() => _bindingList ?? (_bindingList = new ObservableBackedBindingList <T>(this));