public void Adding_First_SelectedItem_Should_Raise_SelectedIndex_SelectedItem_Changed() { var target = new TestSelector { Items = new[] { "foo", "bar" }, Template = Template(), }; bool indexRaised = false; bool itemRaised = false; target.PropertyChanged += (s, e) => { indexRaised |= e.Property.Name == "SelectedIndex" && (int)e.OldValue == -1 && (int)e.NewValue == 1; itemRaised |= e.Property.Name == "SelectedItem" && (string)e.OldValue == null && (string)e.NewValue == "bar"; }; target.ApplyTemplate(); target.SelectedItems.Add("bar"); Assert.True(indexRaised); Assert.True(itemRaised); }
public void Adding_SelectedItems_Should_Set_Item_IsSelected() { var items = new[] { new ListBoxItem(), new ListBoxItem(), new ListBoxItem(), }; var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.Presenter.ApplyTemplate(); target.SelectedItems.Add(items[0]); target.SelectedItems.Add(items[1]); var foo = target.Presenter.Panel.Children[0]; Assert.True(items[0].IsSelected); Assert.True(items[1].IsSelected); Assert.False(items[2].IsSelected); }
public void Setting_SelectedIndex_Should_Set_SelectedValue() { TestSelector target = new TestSelector(); target.SelectedIndex = 1; Assert.AreEqual(target.TestItems[1], target.SelectedValue); }
public void Setting_SelectedIndex_With_Invalid_SelectedValuePath_Should_() { TestSelector target = new TestSelector(); target.SelectedValuePath = "Invalid"; target.SelectedIndex = 1; Assert.IsNull(target.SelectedValue); }
public void SelectedIndexSetsSelectedItem () { TestSelector s = new TestSelector (); object o = new object (); s.Items.Add (o); Assert.IsNull (s.SelectedItem, "1"); s.SelectedIndex = 0; Assert.AreEqual (s.SelectedItem, o, "2"); }
public void SelectedItemSetsSelectedIndex () { TestSelector s = new TestSelector (); object o = new object (); s.Items.Add (o); Assert.AreEqual (s.SelectedIndex, -1, "1"); s.SelectedItem = o; Assert.AreEqual (s.SelectedIndex, 0, "2"); }
public void Setting_SelectedIndex_With_SelectedValuePath_Should_Set_SelectedValue() { TestSelector target = new TestSelector(); target.SelectedValuePath = "Caption"; target.SelectedIndex = 1; Assert.AreEqual("Bar", target.SelectedValue); }
public void AddingToAVisibleWindowSetsSelection () { TestSelector s = new TestSelector (); s.Items.Add (new object ()); Window w = new Window (); w.Content = s; w.Show (); Assert.AreEqual (s.SelectedIndex, -1, "1"); Assert.IsNull (s.SelectedItem, "2"); }
public void Setting_SelectedIndex_Should_Add_To_SelectedItems() { var target = new TestSelector { Items = new[] { "foo", "bar" }, Template = Template(), }; target.ApplyTemplate(); target.SelectedIndex = 1; Assert.Equal(new[] { "bar" }, target.SelectedItems.Cast<object>().ToList()); }
public void Assigning_SelectedItems_Should_Set_SelectedIndex() { var target = new TestSelector { Items = new[] { "foo", "bar" }, Template = Template(), }; target.ApplyTemplate(); target.SelectedItems = new[] { "bar" }; Assert.Equal(1, target.SelectedIndex); }
public void First_Item_Should_Be_Selected() { var target = new TestSelector { Items = new[] { "foo", "bar" }, Template = Template(), }; target.ApplyTemplate(); Assert.Equal(0, target.SelectedIndex); Assert.Equal("foo", target.SelectedItem); }
public void Reassigning_SelectedItems_Should_Clear_Selection() { var target = new TestSelector { Items = new[] { "foo", "bar" }, Template = Template(), }; target.ApplyTemplate(); target.SelectedItems.Add("bar"); target.SelectedItems = new PerspexList<object>(); Assert.Equal(-1, target.SelectedIndex); Assert.Equal(null, target.SelectedItem); }
public void First_Item_Should_Be_Selected_When_Added() { var items = new PerspexList<string>(); var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); items.Add("foo"); Assert.Equal(0, target.SelectedIndex); Assert.Equal("foo", target.SelectedItem); }
public void Item_Should_Be_Selected_When_Selection_Removed() { var items = new PerspexList<string>(new[] { "foo", "bar", "baz", "qux" }); var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.SelectedIndex = 2; items.RemoveAt(2); Assert.Equal(2, target.SelectedIndex); Assert.Equal("qux", target.SelectedItem); }
public void Selection_Should_Be_Cleared_When_No_Items_Left() { var items = new PerspexList<string>(new[] { "foo", "bar" }); var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.SelectedIndex = 1; items.RemoveAt(1); items.RemoveAt(0); Assert.Equal(-1, target.SelectedIndex); Assert.Null(target.SelectedItem); }
public static Runner Create() { var exceptionFilter = new NUnitExceptionFilter(printStacktrace: false); var viewTestFixture = new ViewTestFixture(exceptionFilter); var inicjalizerView = new InicjalizerView(exceptionFilter); var nUnitAssertionAction = new NUnitAssertionAction(); var runInExclusiveGroupAttributeFilter = new RunInExclusiveGroupAttributeFilter(); var traditionalTestAttributeFilter = new TraditionalTestAttributeFilter(); var testMethodSelector = new TestSelector( new NUnitTestMethodSelectorFromTestFixture(), new ITestMethodFilter[] { runInExclusiveGroupAttributeFilter, traditionalTestAttributeFilter }, nUnitAssertionAction); var nUnitTestMethodSelectorFromCallStack = new NUnitTestMethodSelectorFromCallStack(); return new Runner( exceptionFilter, viewTestFixture, inicjalizerView, testMethodSelector, nUnitAssertionAction, nUnitTestMethodSelectorFromCallStack); }
public void Unbound_SelectedItems_Should_Be_Cleared_When_DataContext_Cleared() { var data = new { Items = new[] { "foo", "bar", "baz" }, }; var target = new TestSelector { DataContext = data, Template = Template(), }; var itemsBinding = new Binding { Path = "Items" }; target.Bind(TestSelector.ItemsProperty, itemsBinding); Assert.Same(data.Items, target.Items); target.SelectedItems.Add("bar"); target.DataContext = null; Assert.Empty(target.SelectedItems); }
public void Removing_SelectedItems_Should_Clear_Item_IsSelected() { var items = new[] { new ListBoxItem(), new ListBoxItem(), new ListBoxItem(), }; var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.SelectedItems.Add(items[0]); target.SelectedItems.Add(items[1]); target.SelectedItems.Remove(items[1]); Assert.True(items[0].IsSelected); Assert.False(items[1].IsSelected); }
public void Adding_To_SelectedItems_Should_Raise_SelectionChanged() { var items = new[] { "foo", "bar", "baz" }; var target = new TestSelector { DataContext = items, Template = Template(), }; var called = false; target.SelectionChanged += (s, e) => { Assert.Equal(new[] { "bar" }, e.AddedItems.Cast <object>().ToList()); Assert.Empty(e.RemovedItems); called = true; }; target.SelectedItems.Add("bar"); Assert.True(called); }
public void Range_Select_Should_Select_Range() { var target = new TestSelector { Items = new[] { "foo", "bar", "baz", "qux", "qiz", "lol", }, SelectionMode = SelectionMode.Multiple, Template = Template(), }; target.ApplyTemplate(); target.SelectedIndex = 1; target.SelectRange(3); Assert.Equal(new[] { "bar", "baz", "qux" }, target.SelectedItems.Cast <object>().ToList()); }
public void Assigning_SelectedItems_Should_Set_Item_IsSelected() { var items = new[] { new ListBoxItem(), new ListBoxItem(), new ListBoxItem(), }; var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.Presenter.ApplyTemplate(); target.SelectedItems = new PerspexList<object> { items[0], items[1] }; Assert.True(items[0].IsSelected); Assert.True(items[1].IsSelected); Assert.False(items[2].IsSelected); }
public void DeltaPropagationSelector_must_collect_2_plus_1_when_three_node() { var selector = new TestSelector(selfUniqueAddress, nodes.Take(3).ToImmutableArray()); selector.Update("A", DeltaA); selector.Update("B", DeltaB); var expected = new DeltaPropagation(selfUniqueAddress, false, ImmutableDictionary <string, Delta> .Empty .Add("A", new Delta(new DataEnvelope(DeltaA), 1L, 1L)) .Add("B", new Delta(new DataEnvelope(DeltaB), 1L, 1L))); selector.CollectPropagations().Should().Equal(ImmutableDictionary.CreateRange(new[] { new KeyValuePair <Address, DeltaPropagation>(nodes[0], expected), new KeyValuePair <Address, DeltaPropagation>(nodes[1], expected), })); selector.CleanupDeltaEntries(); selector.HasDeltaEntries("A").Should().BeTrue(); selector.HasDeltaEntries("B").Should().BeTrue(); selector.CollectPropagations().Should().Equal(ImmutableDictionary.CreateRange(new[] { new KeyValuePair <Address, DeltaPropagation>(nodes[2], expected), })); selector.CollectPropagations().Should().BeEmpty(); selector.CleanupDeltaEntries(); selector.HasDeltaEntries("A").Should().BeFalse(); selector.HasDeltaEntries("B").Should().BeFalse(); }
public void Reassigning_SelectedItems_Should_Clear_Item_IsSelected() { var items = new[] { new ListBoxItem(), new ListBoxItem(), new ListBoxItem(), }; var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.SelectedItems.Add(items[0]); target.SelectedItems.Add(items[1]); target.SelectedItems = new PerspexList<object> { items[0], items[1] }; Assert.False(items[0].IsSelected); Assert.False(items[1].IsSelected); }
public void Second_Range_Select_Backwards_Should_Select_From_Original_Selection() { var target = new TestSelector { Items = new[] { "foo", "bar", "baz", "qux", "qiz", "lol", }, SelectionMode = SelectionMode.Multiple, Template = Template(), }; target.ApplyTemplate(); target.SelectedIndex = 2; target.SelectRange(5); target.SelectRange(4); Assert.Equal(new[] { "baz", "qux", "qiz" }, target.SelectedItems.Cast <object>().ToList()); }
public void Unbound_SelectedItems_Should_Be_Cleared_When_DataContext_Cleared() { var data = new { Items = new[] { "foo", "bar", "baz" }, }; var target = new TestSelector { DataContext = data, Template = Template(), }; var itemsBinding = new Binding { Path = "Items" }; itemsBinding.Bind(target, TestSelector.ItemsProperty); Assert.Same(data.Items, target.Items); target.SelectedItems.Add("bar"); target.DataContext = null; Assert.Empty(target.SelectedItems); }
public void Suprious_SelectedIndex_Changes_Should_Not_Be_Triggered() { var target = new TestSelector { Items = new[] { "foo", "bar", "baz" }, Template = Template(), }; target.ApplyTemplate(); var selectedIndexes = new List<int>(); target.GetObservable(TestSelector.SelectedIndexProperty).Subscribe(x => selectedIndexes.Add(x)); target.SelectedItems = new PerspexList<object> { "bar", "baz" }; target.SelectedItem = "foo"; Assert.Equal(0, target.SelectedIndex); Assert.Equal(new[] { -1, 1, 0 }, selectedIndexes); }
public void Should_Not_Write_To_Old_DataContext() { var vm = new OldDataContextViewModel(); var target = new TestSelector(); var itemsBinding = new Binding { Path = "Items", Mode = BindingMode.OneWay, }; var selectedItemsBinding = new Binding { Path = "SelectedItems", Mode = BindingMode.OneWay, }; // Bind Items and SelectedItems to the VM. itemsBinding.Bind(target, TestSelector.ItemsProperty); selectedItemsBinding.Bind(target, TestSelector.SelectedItemsProperty); // Set DataContext and SelectedIndex target.DataContext = vm; target.SelectedIndex = 1; // Make sure SelectedItems are written back to VM. Assert.Equal(new[] { "bar" }, vm.SelectedItems); // Clear DataContext and ensure that SelectedItems is still set in the VM. target.DataContext = null; Assert.Equal(new[] { "bar" }, vm.SelectedItems); // Ensure target's SelectedItems is now clear. Assert.Empty(target.SelectedItems); }
public void Second_Range_Select_Backwards_Should_Select_From_Original_Selection() { var target = new TestSelector { Items = new[] { "foo", "bar", "baz", "qux", "qiz", "lol", }, SelectionMode = SelectionMode.Multiple, Template = Template(), }; target.ApplyTemplate(); target.SelectedIndex = 2; target.SelectRange(5); target.SelectRange(4); Assert.Equal(new[] { "baz", "qux", "qiz" }, target.SelectedItems.Cast<object>().ToList()); }
public void Replacing_First_SelectedItem_Should_Update_SelectedItem_SelectedIndex() { var items = new[] { new ListBoxItem(), new ListBoxItem(), new ListBoxItem(), }; var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.Presenter.ApplyTemplate(); target.SelectedIndex = 1; target.SelectedItems[0] = items[2]; Assert.Equal(2, target.SelectedIndex); Assert.Equal(items[2], target.SelectedItem); Assert.False(items[0].IsSelected); Assert.False(items[1].IsSelected); Assert.True(items[2].IsSelected); }
public void Removing_SelectedItems_Should_Clear_Item_IsSelected() { var items = new[] { new ListBoxItem(), new ListBoxItem(), new ListBoxItem(), }; var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); target.Presenter.ApplyTemplate(); target.SelectedItems.Add(items[0]); target.SelectedItems.Add(items[1]); target.SelectedItems.Remove(items[1]); Assert.True(items[0].IsSelected); Assert.False(items[1].IsSelected); }
public void Removing_Last_SelectedItem_Should_Raise_SelectedIndex_Changed() { var target = new TestSelector { Items = new[] { "foo", "bar" }, Template = Template(), }; target.ApplyTemplate(); target.SelectedItems.Add("foo"); bool raised = false; target.PropertyChanged += (s, e) => raised |= e.Property.Name == "SelectedIndex" && (int)e.OldValue == 0 && (int)e.NewValue == -1; target.SelectedItems.RemoveAt(0); Assert.True(raised); }
public void SelectedValue_Should_Initially_Be_Null() { TestSelector target = new TestSelector(); Assert.IsNull(target.SelectedValue); }
public void Setting_SelectedIndex_To_Minus_1_Should_Clear_SelectedValue() { TestSelector target = new TestSelector(); target.SelectedIndex = 1; target.SelectedIndex = -1; Assert.IsNull(target.SelectedValue); }
public void Range_Select_Should_Select_Range() { var target = new TestSelector { Items = new[] { "foo", "bar", "baz", "qux", "qiz", "lol", }, SelectionMode = SelectionMode.Multiple, Template = Template(), }; target.ApplyTemplate(); target.SelectedIndex = 1; target.SelectRange(3); Assert.Equal(new[] { "bar", "baz", "qux" }, target.SelectedItems.Cast<object>().ToList()); }
public void Assigning_SelectedItems_Should_Raise_SelectionChanged() { var items = new[] { "foo", "bar", "baz" }; var target = new TestSelector { Items = items, Template = Template(), SelectedItem = "bar", }; var called = false; target.SelectionChanged += (s, e) => { Assert.Equal(new[] { "foo", "baz" }, e.AddedItems.Cast<object>()); Assert.Equal(new[] { "bar" }, e.RemovedItems.Cast<object>()); called = true; }; target.ApplyTemplate(); target.Presenter.ApplyTemplate(); target.SelectedItems = new[] { "foo", "baz" }; Assert.True(called); }
public void SelectedIndex_Should_Initially_Be_Minus_1() { TestSelector target = new TestSelector(); Assert.AreEqual(-1, target.SelectedIndex); }
public void Adding_Subsequent_SelectedItems_Should_Not_Raise_SelectedIndex_SelectedItem_Changed() { var target = new TestSelector { Items = new[] { "foo", "bar" }, Template = Template(), }; target.ApplyTemplate(); target.SelectedItems.Add("foo"); bool raised = false; target.PropertyChanged += (s, e) => raised |= e.Property.Name == "SelectedIndex" || e.Property.Name == "SelectedItem"; target.SelectedItems.Add("bar"); Assert.False(raised); }
public void Removing_From_SelectedItems_Should_Raise_SelectionChanged() { var items = new[] { "foo", "bar", "baz" }; var target = new TestSelector { Items = items, Template = Template(), SelectedItem = "bar", }; var called = false; target.SelectionChanged += (s, e) => { Assert.Equal(new[] { "bar" }, e.RemovedItems.Cast<object>().ToList()); Assert.Empty(e.AddedItems); called = true; }; target.SelectedItems.Remove("bar"); Assert.True(called); }