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); }
private MapNode DeserializeIsolatedNode(Parser r) { string text = null; NodePosition pos = NodePosition.Undefined; string id = null; string prop = r.Peek <Scalar>().Value; if (prop != null && prop.Equals(Text)) { r.Expect <Scalar>(); text = r.Expect <Scalar>().Value; prop = r.Peek <Scalar>().Value; } if (prop != null && prop.Equals(Pos)) { r.Expect <Scalar>(); pos = (NodePosition)Enum.Parse(typeof(NodePosition), r.Expect <Scalar>().Value); //prop = r.Peek<Scalar>().Value; } // Isolated nodes donot have Id //if (prop != null && prop.Equals(Id)) //{ // r.Expect<Scalar>(); // id = r.Expect<Scalar>().Value; // //prop = r.Peek<Scalar>().Value; //} MapNode node = MapNode.CreateIsolatedNode(pos); node.Text = text; return(node); }
/// <summary> /// Create a new style using the refNode (internal copy of given refNode is created) /// </summary> /// <param name="title"></param> /// <param name="styleSource">Changing refNode afterwards will not affect the created style.</param> /// <param name="custom"></param> public NodeStyle(string title, MapNode styleSource, bool custom = true) { Title = title; Custom = custom; RefNode = MapNode.CreateIsolatedNode(NodePosition.Right); RefNode.Text = "Sample"; styleSource.CopyFormatTo(RefNode); Image = new StyleImageGenerator(RefNode).GenerateImage(); }
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)); }