protected override void AssertObject(OrderedNotifiableCollection <string> deserializedObj)
 {
     deserializedObj.Items.ShouldBeType <OrderedListInternal <string> >();
     deserializedObj.SequenceEqual(TestExtensions.TestStrings).ShouldBeTrue();
     deserializedObj.IsNotificationsSuspended.ShouldBeFalse();
     deserializedObj.EventsTracker.ShouldNotBeNull();
 }
Beispiel #2
0
        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);
        }