public void Deserialize_LastPropertyEmpty()
        {
            var sut  = new MapYamlSerializer();
            var node = MapNode.CreateIsolatedNode(NodePosition.Left);

            node.Text  = "Node1";
            node.Color = Color.Azure;

            var writer  = new StringWriter();
            var emitter = new Emitter(writer);

            emitter.Emit(new StreamStart());
            emitter.Emit(new DocumentStart());

            sut.Serialize(node, emitter);

            emitter.Emit(new DocumentEnd(true));
            emitter.Emit(new StreamEnd());

            string text = writer.ToString();

            var parser      = new Parser(new StringReader(text));
            var eventReader = new EventReader(parser);

            eventReader.Expect <StreamStart>();
            eventReader.Expect <DocumentStart>();
            var result = sut.Deserialize(eventReader);

            eventReader.Expect <DocumentEnd>();
            eventReader.Expect <StreamEnd>();

            Assert.AreEqual(Color.Azure, result.Color);
            Assert.IsNull(result.Image);
            Assert.IsNull(result.Label);
        }
示例#2
0
        public void Deserialize_AllProperties()
        {
            var sut  = new MapYamlSerializer();
            var node = MapNode.CreateIsolatedNode(NodePosition.Left);

            node.Text           = "Text";
            node.Folded         = true;
            node.BackColor      = Color.Aqua;
            node.Bold           = true;
            node.FontName       = "Arial";
            node.FontSize       = 15;
            node.ImageAlignment = ImageAlignment.AboveStart;
            node.ImageSize      = new Size(22, 21);
            node.Italic         = true;
            node.Label          = "label";
            node.LineColor      = Color.BlueViolet;
            node.LinePattern    = DashStyle.Dot;
            node.LineWidth      = 4;
            node.NoteText       = "Note";
            node.Shape          = NodeShape.Box;
            node.Strikeout      = true;
            node.Link           = "link";
            node.Color          = Color.Azure;

            var writer  = new StringWriter();
            var emitter = new Emitter(writer);

            emitter.Emit(new StreamStart());
            emitter.Emit(new DocumentStart());

            sut.Serialize(node, emitter);

            emitter.Emit(new DocumentEnd(true));
            emitter.Emit(new StreamEnd());

            string text = writer.ToString();

            var parser = new Parser(new StringReader(text));

            parser.Expect <StreamStart>();
            parser.Expect <DocumentStart>();
            var result = sut.Deserialize(parser);

            parser.Expect <DocumentEnd>();
            parser.Expect <StreamEnd>();

            Assert.AreEqual(Color.Azure, result.Color);
            Assert.IsNotNull(result.Label);
            Assert.IsNotNull(result.Text);
            Assert.AreEqual("link", result.Link);
            Assert.AreEqual(22, result.ImageSize.Width);
        }
        public void Serialize_NotContainsBackColor()
        {
            var sut  = new MapYamlSerializer();
            var node = MapNode.CreateIsolatedNode(NodePosition.Left);

            node.Text  = "Node1";
            node.Label = "This is the Label";
            node.Color = Color.Azure;

            var writer  = new StringWriter();
            var emitter = new Emitter(writer);

            emitter.Emit(new StreamStart());
            emitter.Emit(new DocumentStart());

            sut.Serialize(node, emitter);

            emitter.Emit(new DocumentEnd(true));
            emitter.Emit(new StreamEnd());

            Assert.IsFalse(writer.ToString().Contains(MapYamlSerializer.BackColor));
        }