Exemplo n.º 1
0
        public void Test_MgcReplaceRange()
        {
            devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>();
            var toAdd    = new[] { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3 };
            var toRemove = new[] { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 0, 0 };

            collection.MgcAddRange(toRemove);
            collection.CollectionChanged += (s, e) =>
            {
                Assert.AreEqual(e.Action,
                                NotifyCollectionChangedAction.Reset,
                                "ReplaceRange didn't use Remove like requested.");

                Assert.IsNull(e.OldItems, "OldItems should be null.");
                Assert.IsNull(e.NewItems, "NewItems should be null.");

                Assert.AreEqual(collection.Count, toAdd.Length, "Lengths are not the same");

                for (var i = 0; i < toAdd.Length; i++)
                {
                    if (collection[i] != (int)toAdd[i])
                    {
                        Assert.Fail("Expected and actual items don't match.");
                    }
                }
            };
            collection.MgcReplaceRange(toAdd);
        }
Exemplo n.º 2
0
        public void Test_MagicAdd()
        {
            devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>();
            var toAdd = new List <int> {
                1, 2, 3
            };

            collection.CollectionChanged += (s, e) =>
            {
                Assert.AreEqual(e.Action,
                                NotifyCollectionChangedAction.Add,
                                "AddRange didn't use Add like requested.");

                Assert.IsNull(e.OldItems, "OldItems should be null.");

                Assert.AreEqual(toAdd.Count,
                                e.NewItems.Count,
                                "Expected and actual OldItems don't match.");

                for (var i = 0; i < toAdd.Count; i++)
                {
                    Assert.AreEqual(toAdd[i], (int)e.NewItems[i],
                                    "Expected and actual NewItems don't match.");
                }
            };

            collection.MgcAddRange(toAdd);
        }
Exemplo n.º 3
0
        public void Test_RemoveRangeRemoveTestMethod()
        {
            devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>();
            var toAdd    = new[] { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3 };
            var toRemove = new[] { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 0, 0 };

            collection.MgcAddRange(toAdd);
            collection.CollectionChanged += (s, e) =>
            {
                if (e.Action != System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
                {
                    Assert.Fail("RemoveRange didn't use Remove like requested.");
                }
                if (e.OldItems == null)
                {
                    Assert.Fail("OldItems should not be null.");
                }
                var expected = new int[] { 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9, 9 };
                if (expected.Length != e.OldItems.Count)
                {
                    Assert.Fail("Expected and actual OldItems don't match.");
                }
                for (var i = 0; i < expected.Length; i++)
                {
                    if (expected[i] != (int)e.OldItems[i])
                    {
                        Assert.Fail("Expected and actual OldItems don't match.");
                    }
                }
            };
            collection.MgcRemoveRange(toRemove, NotifyCollectionChangedAction.Remove);
        }
Exemplo n.º 4
0
        public void Test_AddMgcEmpty()
        {
            devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>();
            var toAdd = new int[0];

            collection.CollectionChanged += (s, e) =>
            {
                Assert.Fail("The event is raised.");
            };
            collection.MgcAddRange(toAdd);
        }
Exemplo n.º 5
0
        public void Test_RemoveRangeEmpty()
        {
            devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>();
            var toAdd    = new[] { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3 };
            var toRemove = new int[0];

            collection.MgcAddRange(toAdd);
            collection.CollectionChanged += (s, e) =>
            {
                Assert.Fail("The event is raised.");
            };
            collection.MgcRemoveRange(toRemove, NotifyCollectionChangedAction.Remove);
        }