Ejemplo n.º 1
0
        public void PurgeUnusedImages_Remove_Only_Unused_Keys_And_Notify()
        {
            var target = new ProjectContainer();
            int count  = 0;

            target.PropertyChanged += (sender, e) =>
            {
                count++;
            };

            var key1 = ProjectContainer.ImageEntryNamePrefix + "image1.jpg";
            var key2 = ProjectContainer.ImageEntryNamePrefix + "image2.jpg";
            var key3 = ProjectContainer.ImageEntryNamePrefix + "image3.jpg";

            target.AddImage(key1, new byte[] { });
            target.AddImage(key2, new byte[] { });
            target.AddImage(key3, new byte[] { });

            var used = ImmutableHashSet.Create(key2);

            target.PurgeUnusedImages(used);

            Assert.Equal(key2, target.Keys.First().Key);
            Assert.Contains(target.Keys, item => item.Key == key2);
            Assert.Equal(4, count);
        }
Ejemplo n.º 2
0
        public void PurgeUnusedImages_Remove_All_Keys_And_Notify()
        {
            var target = new ProjectContainer();
            int count  = 0;

            target.PropertyChanged += (sender, e) =>
            {
                count++;
            };

            var key1 = ProjectContainer.ImageEntryNamePrefix + "image1.jpg";
            var key2 = ProjectContainer.ImageEntryNamePrefix + "image2.jpg";
            var key3 = ProjectContainer.ImageEntryNamePrefix + "image3.jpg";

            target.AddImage(key1, new byte[] { });
            target.AddImage(key2, new byte[] { });
            target.AddImage(key3, new byte[] { });

            var used = Enumerable.Empty <string>().ToImmutableHashSet();

            target.PurgeUnusedImages(used);

            Assert.Empty(target.Keys);
            Assert.Equal(4, count);
        }
Ejemplo n.º 3
0
        public void AddImage_Do_Not_Add_Duplicate()
        {
            var target = new ProjectContainer();
            int count  = 0;

            target.PropertyChanged += (sender, e) =>
            {
                count++;
            };

            var key = ProjectContainer.ImageEntryNamePrefix + "image.jpg";

            target.AddImage(key, new byte[] { });
            target.AddImage(key, new byte[] { });

            Assert.Equal(key, target.Keys.First().Key);
            Assert.Contains(target.Keys, item => item.Key == key);
            Assert.Equal(1, count);
        }
Ejemplo n.º 4
0
        public void GetImage_Returns_Byte_Array()
        {
            var project = new ProjectContainer();

            var key  = ProjectContainer.ImageEntryNamePrefix + "image.jpg";
            var data = new byte[] { 0x12, 0x34, 0x56, 0x78 };

            project.AddImage(key, data);

            var target = project.GetImage(key);

            Assert.Equal(data, target);
        }
Ejemplo n.º 5
0
        public void AddImage_Add_Key_And_Notify()
        {
            var    target = new ProjectContainer();
            string actual = null;

            target.PropertyChanged += (sender, e) =>
            {
                actual = e.PropertyName;
            };

            var key = ProjectContainer.ImageEntryNamePrefix + "image.jpg";

            target.AddImage(key, new byte[] { });

            Assert.Equal(key, target.Keys.First().Key);
            Assert.Contains(target.Keys, item => item.Key == key);
            Assert.Equal("Keys", actual);
        }
Ejemplo n.º 6
0
        public void RemoveImage_Remove_Key_And_Notify()
        {
            var target = new ProjectContainer();
            int count  = 0;

            target.PropertyChanged += (sender, e) =>
            {
                count++;
            };

            var key = ProjectContainer.ImageEntryNamePrefix + "image.jpg";

            target.AddImage(key, new byte[] { });
            target.RemoveImage(key);

            Assert.Empty(target.Keys);
            Assert.Equal(2, count);
        }