protected override void AssertObject(OrderedNotifiableCollection <string> deserializedObj) { deserializedObj.Items.ShouldBeType <OrderedListInternal <string> >(); deserializedObj.SequenceEqual(TestExtensions.TestStrings).ShouldBeTrue(); deserializedObj.IsNotificationsSuspended.ShouldBeFalse(); deserializedObj.EventsTracker.ShouldNotBeNull(); }
public void CollectionShouldReorder() { ThreadManagerMock.IsUiThread = true; ThreadManagerMock.ImmediateInvokeOnUiThread = true; var src = new int[] { 5, 2, 4, 1, 3 }; bool orderAsc = true; var collection = new OrderedNotifiableCollection <int>((i, i1) => { if (orderAsc) { return(i.CompareTo(i1)); } return(i1.CompareTo(i)); }) { ThreadManager = ThreadManagerMock }; collection.AddRange(src); collection.SequenceEqual(src.OrderBy(i => i)).ShouldBeTrue(); orderAsc = false; int count = 0; collection.CollectionChanged += (sender, args) => { if (args.Action == NotifyCollectionChangedAction.Reset) { ++count; } }; collection.Reorder(); collection.SequenceEqual(src.OrderByDescending(i => i)).ShouldBeTrue(); count.ShouldEqual(1); }
public override void GlobalSettingTest() { ApplicationSettings.SetDefaultValues(); //By default var collection = new OrderedNotifiableCollection <Item>((item, item1) => item.Id.CompareTo(item1.Id)); collection.ExecutionMode.ShouldEqual(ExecutionMode.AsynchronousOnUiThread); ApplicationSettings.SynchronizedCollectionExecutionMode = ExecutionMode.None; collection = new OrderedNotifiableCollection <Item>(); collection.ExecutionMode.ShouldEqual(ExecutionMode.None); }