Beispiel #1
0
        public void Undo_MultipleObjects_ShouldRotateObjects()
        {
            // Arrange
            var collection = Collection;
            var obj1       = CreateLayoutObject(1, 2, 3, 4);
            var obj2       = CreateLayoutObject(5, 6, 7, 8);

            collection.Insert(obj1, obj1.GridRect);
            collection.Insert(obj2, obj2.GridRect);

            var operation = new RotateObjectsClockwiseOperation()
            {
                Collection = collection,
                Objects    = new List <LayoutObject>()
                {
                    obj1,
                    obj2
                }
            };

            // Act
            operation.Undo();

            // Assert
            Assert.Equal(new Rect(2, -4, 4, 3), obj1.GridRect);
            Assert.Equal(new Rect(6, -12, 8, 7), obj2.GridRect);
        }
Beispiel #2
0
        public void Redo_SingleObject_ShouldRotateObject()
        {
            // Arrange
            var collection = Collection;
            var obj        = CreateLayoutObject(1, 2, 3, 4);

            collection.Insert(obj, obj.GridRect);

            var operation = new RotateObjectsClockwiseOperation()
            {
                Collection = collection,
                Objects    = new List <LayoutObject>()
                {
                    obj
                }
            };

            // Act
            operation.Redo();

            // Assert
            Assert.Equal(new Rect(-6, 1, 4, 3), obj.GridRect);
        }