| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | using System;using System.Collections.Generic;using System.Text;using System.Windows.Media;using System.Windows.Media.Imaging;using PixiEditor.Models.DataHolders;using PixiEditor.Models.Layers;using PixiEditor.Models.Position;using Xunit;namespace PixiEditorTests.ModelsTests.LayersTests{    public class LayerTests    {        [Fact]        public void TestThatEmptyLayerGeneratesCorrectly()        {            Layer layer = new Layer("layer");            Assert.Equal("layer",layer.Name);            Assert.Equal(0,layer.Width);            Assert.Equal(0,layer.Height);            Assert.Equal(1, layer.LayerBitmap.PixelWidth);            Assert.Equal(1, layer.LayerBitmap.PixelHeight);        }        [Fact]        public void TestThatEmptyLayerWithSizeGeneratesCorrectly()        {            Layer layer = new Layer("layer", 10, 10);            Assert.Equal("layer", layer.Name);            Assert.Equal(10, layer.Width);            Assert.Equal(10, layer.Height);            Assert.Equal(10, layer.LayerBitmap.PixelWidth);            Assert.Equal(10, layer.LayerBitmap.PixelHeight);        }        [Fact]        public void TestThatLayerFromBitmapGeneratesCorrectly()        {            WriteableBitmap bmp = BitmapFactory.New(10, 10);                        Layer layer = new Layer("layer",bmp);            Assert.Equal("layer", layer.Name);            Assert.Equal(10, layer.Width);            Assert.Equal(10, layer.Height);            Assert.Equal(10, layer.LayerBitmap.PixelWidth);            Assert.Equal(10, layer.LayerBitmap.PixelHeight);        }        [Fact]        public void TestThatCloneClonesCorrectly()        {            Layer layer = new Layer("test", 5, 2);            var clone = layer.Clone();            Assert.Equal(layer.Name, clone.Name);            Assert.Equal(layer.Offset, clone.Offset);            Assert.Equal(layer.Width, clone.Width);            Assert.Equal(layer.Height, clone.Height);            Assert.Equal(layer.MaxHeight, clone.MaxHeight);            Assert.Equal(layer.MaxWidth, clone.MaxWidth);            Assert.Equal(layer.Opacity, clone.Opacity);            Assert.Equal(layer.IsVisible, clone.IsVisible);            Assert.Equal(layer.IsRenaming, clone.IsRenaming);            Assert.Equal(layer.ConvertBitmapToBytes(), clone.ConvertBitmapToBytes());        }        [Fact]        public void TestThatCloneIsMakingDeepCopyOfBitmap()        {            Layer layer = new Layer("test", 5, 2);            var clone = layer.Clone();            clone.LayerBitmap.SetPixel(0,0, Colors.Green); //Actually we are checking if modifying clone bitmap does not affect original            Assert.NotEqual(Colors.Green,layer.GetPixel(0,0));        }        [Fact]        public void TestThatResizeResizesBitmap()        {            Layer layer = new Layer("layer", 1,1);            layer.SetPixel(new Coordinates(0,0), Colors.Black);            layer.Resize(2,2, 2,2);            Assert.Equal(2,layer.Width);            Assert.Equal(2,layer.Height);            Assert.Equal(2, layer.MaxWidth);            Assert.Equal(2, layer.MaxHeight);            for (int y = 0; y < layer.Height; y++) //4 is new area of bitmap            {                for (int x = 0; x < layer.Width; x++)                {                    Assert.Equal(Colors.Black,layer.GetPixel(x,y));                }            }        }        [Fact]        public void TestThatGetPixelReturnsTransparentIfOutOfBounds()        {            Layer layer = new Layer("layer");            Assert.Equal(0, layer.GetPixel(-1, 999).A);        }        [Fact]        public void TestThatSetPixelsSetsPixels() //This also tests if Dynamic Resize works        {            Coordinates[] pixels = {new Coordinates(4, 2), new Coordinates(0, 0), new Coordinates(15, 2),};            Layer layer = new Layer("layer");            layer.SetPixels(BitmapPixelChanges.FromSingleColoredArray(pixels, Colors.Green));            for (int i = 0; i < pixels.Length; i++)            {                Assert.Equal(Colors.Green, layer.GetPixelWithOffset(pixels[i].X, pixels[i].Y));            }        }        [Fact]        public void TestThatClipCanvasResizesBitmapCorrectly()        {            Layer layer = new Layer("layer", 10, 10);            layer.SetPixel(new Coordinates(4,4), Colors.Blue);            layer.ClipCanvas();            Assert.Equal(1, layer.Width);            Assert.Equal(1, layer.Height);            Assert.Equal(Colors.Blue, layer.GetPixel(0,0));        }    }}
 |