Exemple #1
0
        public void AddVertexCommandTest()
        {
            Shapes.Models.UndoRedoManager manager    = new Shapes.Models.UndoRedoManager();
            Shapes.Models.Canvas          testCanvas = new Shapes.Models.Canvas();
            Shapes.Models.Vertex          first      = new Shapes.Models.Vertex();
            Shapes.Models.Vertex          second     = new Shapes.Models.Vertex();

            Assert.AreEqual(0, testCanvas.Count);
            Shapes.Commands.Vertex.AddVertex testCommand =
                new Shapes.Commands.Vertex.AddVertex(testCanvas, first, manager);

            manager.Execute(testCommand);
            Assert.AreEqual(1, testCanvas.Count);

            manager.Undo();
            Assert.AreEqual(0, testCanvas.Count);

            manager.Redo();
            Assert.AreEqual(1, testCanvas.Count);

            manager.Execute(
                new Shapes.Commands.Vertex.AddVertex(testCanvas, second, manager));
            Assert.AreEqual(2, testCanvas.Count);

            manager.Undo();
            manager.Undo();
            Assert.AreEqual(0, testCanvas.Count);

            manager.Redo();
            Assert.AreEqual(1, testCanvas.Count);

            Configuration.UndoAll(manager);
        }
Exemple #2
0
        public void RemoveVertexCommandTest()
        {
            Shapes.Models.UndoRedoManager manager = new Shapes.Models.UndoRedoManager();
            Shapes.Models.Canvas          canvas  = new Shapes.Models.Canvas();
            Shapes.Models.Vertex          first   = new Shapes.Models.Vertex
            {
                Location = new System.Windows.Point(1, 2)
            };
            Assert.AreEqual(0, canvas.Count);
            Assert.IsFalse(canvas.Contains(first));

            canvas.Add(first);
            Assert.AreEqual(1, canvas.Count);
            Assert.IsTrue(canvas.Contains(first));

            Shapes.Commands.Vertex.RemoveVertex removeVertexCommand =
                new Shapes.Commands.Vertex.RemoveVertex(canvas, first);

            manager.Execute(removeVertexCommand);

            Assert.AreEqual(0, canvas.Count);
            Assert.IsFalse(canvas.Contains(first));


            manager.Undo();
            Assert.AreEqual(1, canvas.Count);
            Assert.IsTrue(canvas.Contains(first));

            manager.Redo();
            Assert.AreEqual(0, canvas.Count);
            Assert.IsFalse(canvas.Contains(first));
        }
Exemple #3
0
        // METHODS
        /// <summary>
        /// Loads information from xml file.
        /// </summary>
        /// <param name="item">Object to loading.</param>
        /// <param name="fileName">The name of file.</param>
        public void Load(ref Shapes.Models.Canvas item, string fileName)
        {
            item.Clear();
            System.Xml.Serialization.XmlSerializer xmlFormat = new System.Xml.Serialization.XmlSerializer(typeof(Shapes.Models.Canvas),
                                                                                                          new System.Type[] { typeof(Shapes.Models.ShapeBase), typeof(Shapes.Models.Vertex), typeof(Shapes.Models.Pentagon) });

            using (System.IO.FileStream fStream = new System.IO.FileStream(fileName,
                                                                           System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.None))
            {
                item = (Shapes.Models.Canvas)xmlFormat.Deserialize(fStream);
            }
        }
Exemple #4
0
        /// <summary>
        /// Saves information to xml file.
        /// </summary>
        /// <param name="item">Object to saving.</param>
        /// <param name="fileName">The name of file.</param>
        /// <exception cref="System.ArgumentNullException">
        /// Thrown when canvas is null.
        /// </exception>
        public void Save(Shapes.Models.Canvas item, string fileName)
        {
            if (item != null)
            {
                System.Xml.Serialization.XmlSerializer xmlFormat = new System.Xml.Serialization.XmlSerializer(typeof(Shapes.Models.Canvas),
                                                                                                              new System.Type[] { typeof(Shapes.Models.ShapeBase), typeof(Shapes.Models.Vertex), typeof(Shapes.Models.Pentagon) });

                using (System.IO.FileStream fStream = new System.IO.FileStream(fileName,
                                                                               System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.None))
                {
                    xmlFormat.Serialize(fStream, item);
                }
            }
            else
            {
                throw new System.ArgumentNullException("Canvas is null.");
            }
        }