public void Items_Are_Sorted_Events()
        {
            var stringA = "aaaaa";
            var stringB = "bbbbb";
            var stringC = "ccccc";
            var stringD = "ddddd";

            var sut = new SuperObservableCollection <string>();

            int notifications = 0;

            sut.CollectionChanged += (sender, args) =>
            {
                notifications++;
            };

            sut.AddRange(new[] { stringB, stringA, stringC, stringD });

            Assert.Equal(stringB, sut[0]);

            sut.Sort(true);

            Assert.Equal(stringA, sut[0]);
            Assert.Equal(1, notifications);
        }
        public void AddRange_Adds_Items()
        {
            var stringA = "aaaaa";
            var stringB = "bbbbb";
            var stringC = "ccccc";

            var sut = new SuperObservableCollection <string>();

            sut.AddRange(new [] { stringA, stringB, stringC });

            Assert.Equal(3, sut.Count);
        }
        public void Items_Are_Sorted()
        {
            var stringA = "aaaaa";
            var stringB = "bbbbb";
            var stringC = "ccccc";

            var sut = new SuperObservableCollection <string>();

            sut.AddRange(new[] { stringB, stringA, stringC });

            Assert.Equal(stringB, sut[0]);

            sut.Sort();

            Assert.Equal(stringA, sut[0]);
        }
        public void AddRange_All_Normal_Collection_Changed_Notifications_Fired()
        {
            var stringA = "aaaaa";
            var stringB = "bbbbb";
            var stringC = "ccccc";

            var sut           = new SuperObservableCollection <string>();
            int notifications = 0;

            sut.CollectionChanged += (sender, args) =>
            {
                notifications++;
            };

            sut.AddRange(new[] { stringB, stringA, stringC }, false, false);

            Assert.Equal(3, notifications);
        }