1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System.Windows.Media;
- using PixiEditor.Models.Controllers;
- using PixiEditor.Models.DataHolders;
- using PixiEditor.Models.Position;
- using PixiEditor.Models.Tools;
- using Xunit;
- namespace PixiEditorTests.ModelsTests.ControllersTests
- {
- public class PixelChangesControllerTests
- {
- [Fact]
- public void TestThatPopChangesPopsChanges()
- {
- var controller = CreateBasicController();
- var changes = controller.PopChanges();
- Assert.NotEmpty(changes);
- Assert.Null(controller.PopChanges());
- }
- [Fact]
- public void TestThatAddChangesAddsAsNewChange()
- {
- var controller = CreateBasicController();
- Coordinates[] cords = { new Coordinates(5, 3), new Coordinates(7, 2) };
- controller.AddChanges(new LayerChange(
- BitmapPixelChanges.FromSingleColoredArray(cords, Colors.Black), 1),
- new LayerChange(BitmapPixelChanges.FromSingleColoredArray(cords, Colors.Transparent), 1));
- var changes = controller.PopChanges();
- Assert.Equal(2, changes.Length);
- }
- [Fact]
- public void TestThatAddChangesAddsToExistingChange()
- {
- Coordinates[] cords2 = { new Coordinates(2, 2), new Coordinates(5, 5) };
- var controller = CreateBasicController();
- controller.AddChanges(new LayerChange(
- BitmapPixelChanges.FromSingleColoredArray(cords2, Colors.Black), 0),
- new LayerChange(BitmapPixelChanges.FromSingleColoredArray(cords2, Colors.Transparent), 0));
- var changes = controller.PopChanges();
- Assert.Single(changes);
- Assert.Equal(4, changes[0].Item1.PixelChanges.ChangedPixels.Count);
- Assert.Equal(4, changes[0].Item2.PixelChanges.ChangedPixels.Count);
- }
- private static PixelChangesController CreateBasicController()
- {
- Coordinates[] cords = { new Coordinates(0, 0), new Coordinates(1, 1) };
- PixelChangesController controller = new PixelChangesController();
- controller.AddChanges(new LayerChange(
- BitmapPixelChanges.FromSingleColoredArray(cords, Colors.Black), 0),
- new LayerChange(BitmapPixelChanges.FromSingleColoredArray(cords, Colors.Transparent), 0));
- return controller;
- }
- }
- }
|