コード例 #1
0
ファイル: ParseGraphviz.cs プロジェクト: SaMSoN-FG/Mikhailov
 public DiagramItem Create(DiagramHelper owner, string id)
 {
     if(ht.ContainsKey(id)) return (DiagramItem)ht[id];
     else {
         var result = new DiagramItem(owner) { Name = id };
         ht.Add(id, result);
         return result;
     }
 }
コード例 #2
0
        public void ParserText_GetDiagramRelation()
        {
            string textProgram = "graph { a -- b; }";
            DiagramHelper graph = new DiagramHelper();
            ParseDot parserDot = new ParseDot(graph, textProgram);

            List<DiagramRelation> DiagramRelation = parserDot.GetDiagramRelations();
            Assert.IsNotNull(DiagramRelation);
            Assert.AreEqual(1, DiagramRelation.Count);
            Assert.AreEqual("a", DiagramRelation[0].Item1.Name);
            Assert.AreEqual("b", DiagramRelation[0].Item2.Name);
        }
コード例 #3
0
        public void ParserText_GetNodes()
        {
            string textProgram = "graph { a -- b; }";
            DiagramHelper graph = new DiagramHelper();
            ParseDot parserDot = new ParseDot(graph, textProgram);

            List<DiagramItem> nodes = parserDot.GetDiagramItems();

            Assert.IsNotNull(nodes);
            Assert.AreEqual(2, nodes.Count);
            Assert.AreEqual("a", nodes[0].Name);
            Assert.AreEqual("b", nodes[1].Name);
        }
コード例 #4
0
        public void AverageParse()
        {
            DiagramHelper graph = new DiagramHelper();
            string textProgram = "graph { a -- b; b -- c; }";

            graph.Load(textProgram);

            Assert.IsNotNull(graph.DiagramItems);
            Assert.AreEqual(3, graph.DiagramItems.Count);
            Assert.AreEqual("a", graph.DiagramItems[0].Name);
            Assert.AreEqual("b", graph.DiagramItems[1].Name);
            Assert.AreEqual("c", graph.DiagramItems[2].Name);

            Assert.IsNotNull(graph.DiagramRelations);
            Assert.AreEqual(2, graph.DiagramRelations.Count);
            Assert.AreEqual("a", graph.DiagramRelations[0].Item1.Name);
            Assert.AreEqual("b", graph.DiagramRelations[0].Item2.Name);
            Assert.AreEqual("b", graph.DiagramRelations[1].Item1.Name);
            Assert.AreEqual("c", graph.DiagramRelations[1].Item2.Name);
        }
コード例 #5
0
ファイル: GraphItem.cs プロジェクト: SaMSoN-FG/Mikhailov
 public GraphItem(DiagramHelper owner)
     : base(owner)
 {
     ChildItems = new List<GraphItem>();
     Size = new Size(DiagramConstant.Random.Next(20, 40), DiagramConstant.Random.Next(20, 40));
 }
コード例 #6
0
ファイル: ParseGraphviz.cs プロジェクト: SaMSoN-FG/Mikhailov
 public ParseDot(DiagramHelper owner, string textProgram)
 {
     this.owner = owner;
     this.textProgram = textProgram;
     Parse();
 }
コード例 #7
0
ファイル: Form1.cs プロジェクト: SaMSoN-FG/Mikhailov
 public void clear(object sender, EventArgs e)
 {
     helper = new DiagramHelper();
 }
コード例 #8
0
ファイル: Form1.cs プロジェクト: SaMSoN-FG/Mikhailov
 private void load(object sender, EventArgs e)
 {
     OpenFileDialog dialog = new OpenFileDialog();
     DirectoryInfo di = new DirectoryInfo(Directory.GetCurrentDirectory() + @"\..\..\Test\XMLStore");
     dialog.InitialDirectory = di.FullName;
     dialog.DefaultExt = "*.xml";
     if (dialog.ShowDialog(this) != DialogResult.OK) return;
     helper = new DiagramHelper();
     helper.DeserializeFromXMLFile(dialog.FileName);
 }
コード例 #9
0
ファイル: DiagramItem.cs プロジェクト: SaMSoN-FG/Mikhailov
 public DiagramItem(DiagramHelper owner)
 {
     this.Owner = owner;
     Size = new Size(20, 20);
 }
コード例 #10
0
        public void LargeTest()
        {
            DiagramHelper graph = new DiagramHelper();
            string textProgram = GetTextProgram();

            graph.Load(textProgram);

            Assert.IsNotNull(graph.DiagramItems);
            Assert.AreEqual(21, graph.DiagramItems.Count);

            Assert.IsNotNull(graph.DiagramRelations);
            Assert.AreEqual(41, graph.DiagramRelations.Count);
        }