コード例 #1
0
        public void Read_NodeIdWithQotes_NotesDetected()
        {
            var document = new DotLangPureDocument();

            using( var reader = new StringReader( "digraph { \"Node 1\"; \"Node 2\"; }" ) )
            {
                document.Read( reader );
            }

            Assert.That( document.Graph.Nodes.Select( n => n.Id ), Is.EquivalentTo( new[] { "Node 1", "Node 2" } ) );
        }
コード例 #2
0
        public void Read_SimpleDirectedGraphWithTwoNodesAndSemiColon_NotesDetected()
        {
            var document = new DotLangPureDocument();

            using( var reader = new StringReader( @"digraph { n1; n2; }" ) )
            {
                document.Read( reader );
            }

            Assert.That( document.Graph.Nodes.Select( n => n.Id ), Is.EquivalentTo( new[] { "n1", "n2" } ) );
        }
コード例 #3
0
        public void Read_CSharpStyleComment_Ignored()
        {
            var document = new DotLangPureDocument();

            using( var reader = new StringReader( @"graph { 
    n1
    // ignore this
    n2
}" ) )
            {
                document.Read( reader );
            }

            Assert.That( document.Graph.Nodes.Select( n => n.Id ), Is.EquivalentTo( new[] { "n1", "n2" } ) );
        }
コード例 #4
0
        public void Read_SimpleGraphWithTwoEdgesAndNewLines_NotesDetected()
        {
            var document = new DotLangPureDocument();

            using( var reader = new StringReader( @"graph { 
    n1 -> n2
    n2 -> n3
}" ) )
            {
                document.Read( reader );
            }

            Assert.That( document.Graph.Nodes.Select( n => n.Id ), Is.EquivalentTo( new[] { "n1", "n2", "n3" } ) );
            Assert.That( document.Graph.Edges.Select( e => e.Id ), Is.EquivalentTo( new[] { Edge.CreateId( "n1", "n2" ), Edge.CreateId( "n2", "n3" ) } ) );
        }
コード例 #5
0
        public void Read_EdgeWithLabel_EdgeAndLabelDetected()
        {
            var document = new DotLangPureDocument();

            using( var reader = new StringReader( "digraph { n1 -> n2 [ label= \"Implemented by\" ]; n2 -> n3 [ label=\"called by\"] }" ) )
            {
                document.Read( reader );
            }

            var edge1 = Edge.CreateId( "n1", "n2" );
            var edge2 = Edge.CreateId( "n2", "n3" );
            Assert.That( document.Graph.Edges.Select( e => e.Id ), Is.EquivalentTo( new[] { edge1, edge2 } ) );
            Assert.That( document.Captions.Single( c => c.OwnerId == edge1 ).Label, Is.EqualTo( "Implemented by" ) );
            Assert.That( document.Captions.Single( c => c.OwnerId == edge2 ).Label, Is.EqualTo( "called by" ) );
        }
コード例 #6
0
        public void Read_NodeWithLabel_NodeAndLabelDetected()
        {
            var document = new DotLangPureDocument();

            using( var reader = new StringReader( "graph { n1 [ label= \"Another text\" ]; n2; n3 }" ) )
            {
                document.Read( reader );
            }

            Assert.That( document.Graph.Nodes.Select( n => n.Id ), Is.EquivalentTo( new[] { "n1", "n2", "n3" } ) );
            Assert.That( document.Captions.Single( c => c.OwnerId == "n1" ).Label, Is.EqualTo( "Another text" ) );
        }
コード例 #7
0
 public Parser( Lexer lexer, DotLangPureDocument document )
 {
     myIterator = new Iterator( lexer );
     myDocument = document;
 }