Exemple #1
0
        public void ReferenceCollectionChangedTest()
        {
            NotifyCollectionChangedEventArgs args = null;

            // Initialize
            Reference root    = new Reference(String.Empty, "D:\\Data\\Project");
            Reference folder1 = new Reference("folder1", ReferenceTargetKind.Directory);
            Reference file1   = new Reference("file1.txt", ReferenceTargetKind.File);
            Reference file2   = new Reference("file2.txt", ReferenceTargetKind.File);
            Reference file3   = new Reference("file3.txt", ReferenceTargetKind.File);

            root.CollectionChanged += new NotifyCollectionChangedEventHandler((sender, e) => args = e);

            // Add item
            args = null;
            root.Add(folder1);

            Assert.IsNotNull(args);
            Assert.AreEqual(NotifyCollectionChangedAction.Add, args.Action);
            Assert.AreEqual(1, args.NewItems.Count);
            Assert.AreEqual(folder1, args.NewItems[0]);
            Assert.IsNull(args.OldItems);

            args = null;
            folder1.Add(file1);
            Assert.IsNull(args);

            args = null;
            root.Add(file2);
            root.Add(file3);
            Assert.IsNotNull(args);

            // Remove
            args = null;
            root.Remove(file3);
            Assert.IsNotNull(root);
            Assert.AreEqual(NotifyCollectionChangedAction.Remove, args.Action);
            Assert.IsNull(args.NewItems);
            Assert.AreEqual(1, args.OldItems.Count);
            Assert.AreEqual(file3, args.OldItems[0]);

            // Unparent
            args = null;
            file2.Unparent();
            Assert.IsNotNull(args);
            Assert.AreEqual(NotifyCollectionChangedAction.Remove, args.Action);
            Assert.IsNull(args.NewItems);
            Assert.AreEqual(1, args.OldItems.Count);
            Assert.AreEqual(file2, args.OldItems[0]);

            // Clear
            args = null;
            root.Clear();
            Assert.IsNotNull(args);
            Assert.AreEqual(NotifyCollectionChangedAction.Reset, args.Action);
            Assert.IsNull(args.NewItems);
            Assert.IsNull(args.OldItems);
        }
Exemple #2
0
 protected internal override void SetNewBuffer(ByteBuffer newBuffer)
 {
     _buffer.Clear();
     _buffer = new SoftReference <ByteBuffer>(newBuffer);
 }