Example #1
0
  def test_single_leaf(self):

    word = single.word()
    leaf = single.edge.leaf( start = 4, length = word.length_descriptor(), label = 6 )
    res = list( leaf.postorder_iteration() )
    self.assertEqual( res, [ leaf ] )
    self.assertTrue( isinstance( res[0], single.edge ) )
Example #2
0
  def test_single_word(self):

    word = single.word()

    ld = word.length_descriptor()

    self.assertEqual( len( word ), 0 )
    self.assertEqual( ld(), 0 )
    self.assertEqual( list( word.substring( 0, ld() ) ), [] )

    c1 = object()
    c2 = object()
    word.append( c1 )
    self.assertEqual( len( word ), 1 )
    self.assertEqual( ld(), 1 )
    self.assertEqual( word[0], c1 )
    self.assertEqual( list( word ), [ c1 ] )
    word.append( c2 )
    self.assertEqual( len( word ), 2 )
    self.assertEqual( ld(), 2 )
    self.assertEqual( word[0], c1 )
    self.assertEqual( word[1], c2 )
    self.assertEqual( list( word ), [ c1, c2 ] )

    self.assertEqual( list( word.substring( 0, 0 ) ), [] )
    self.assertEqual( list( word.substring( 0, 1 ) ), [ c1 ] )
    self.assertEqual( list( word.substring( 0, 2 ) ), [ c1, c2 ] )

    self.assertEqual( list( word.substring( 1, 1 ) ), [] )
    self.assertEqual( list( word.substring( 1, 2 ) ), [ c2 ] )
Example #3
0
  def setUp(self):

    self.root = single.edge.root()
    self.word = single.word()
    length = self.word.length_descriptor()
    self.edge_named = {
      "r_b1": single.edge.branch( start = 0, stop = 3 ),
      "r_b2": single.edge.branch( start = 1, stop = 3 ),
      "r_l1": single.edge.leaf( start = 4, length = length, label = 6 ),

      "r_b1_b1": single.edge.branch( start = 2, stop = 3 ),
      "r_b1_l1": single.edge.leaf( start = 4, length = length, label = 7 ),

      "r_b1_b1_l1": single.edge.leaf( start = 4, length = length, label = 8 ),
      "r_b1_b1_l2": single.edge.leaf( start = 4, length = length, label = 9 ),

      "r_b2_l1": single.edge.leaf( start = 4, length = length, label = 10 ),
      "r_b2_l2": single.edge.leaf( start = 4, length = length, label = 11 ),
      }
    self.root[ "r_b1" ] = self.edge_named[ "r_b1" ]
    self.root[ "r_b2" ] = self.edge_named[ "r_b2" ]
    self.root[ "r_l1" ] = self.edge_named[ "r_l1" ]

    self.edge_named[ "r_b1" ][ "r_b1_b1" ] = self.edge_named[ "r_b1_b1" ]
    self.edge_named[ "r_b1" ][ "r_b1_l1" ] = self.edge_named[ "r_b1_l1" ]

    self.edge_named[ "r_b1_b1" ][ "r_b1_b1_l1" ] = self.edge_named[ "r_b1_b1_l1" ]
    self.edge_named[ "r_b1_b1" ][ "r_b1_b1_l2" ] = self.edge_named[ "r_b1_b1_l2" ]

    self.edge_named[ "r_b2" ][ "r_b2_l1" ] = self.edge_named[ "r_b2_l1" ]
    self.edge_named[ "r_b2" ][ "r_b2_l2" ] = self.edge_named[ "r_b2_l2" ]
Example #4
0
  def test_single_word(self):

    word = single.word()

    ld = word.length_descriptor()

    self.assertEqual( len( word ), 0 )
    self.assertEqual( ld(), 0 )
    self.assertEqual( list( word.substring( 0, ld() ) ), [] )

    c1 = object()
    c2 = object()
    word.append( c1 )
    self.assertEqual( len( word ), 1 )
    self.assertEqual( ld(), 1 )
    self.assertEqual( word[0], c1 )
    self.assertEqual( list( word ), [ c1 ] )
    word.append( c2 )
    self.assertEqual( len( word ), 2 )
    self.assertEqual( ld(), 2 )
    self.assertEqual( word[0], c1 )
    self.assertEqual( word[1], c2 )
    self.assertEqual( list( word ), [ c1, c2 ] )

    self.assertEqual( list( word.substring( 0, 0 ) ), [] )
    self.assertEqual( list( word.substring( 0, 1 ) ), [ c1 ] )
    self.assertEqual( list( word.substring( 0, 2 ) ), [ c1, c2 ] )

    self.assertEqual( list( word.substring( 1, 1 ) ), [] )
    self.assertEqual( list( word.substring( 1, 2 ) ), [ c2 ] )
Example #5
0
  def setUp(self):

    self.root = single.edge.root()
    self.word = single.word()
    length = self.word.length_descriptor()
    self.edge_named = {
      "r_b1": single.edge.branch( start = 0, stop = 3 ),
      "r_b2": single.edge.branch( start = 1, stop = 3 ),
      "r_l1": single.edge.leaf( start = 4, length = length, label = 6 ),

      "r_b1_b1": single.edge.branch( start = 2, stop = 3 ),
      "r_b1_l1": single.edge.leaf( start = 4, length = length, label = 7 ),

      "r_b1_b1_l1": single.edge.leaf( start = 4, length = length, label = 8 ),
      "r_b1_b1_l2": single.edge.leaf( start = 4, length = length, label = 9 ),

      "r_b2_l1": single.edge.leaf( start = 4, length = length, label = 10 ),
      "r_b2_l2": single.edge.leaf( start = 4, length = length, label = 11 ),
      }
    self.root[ "r_b1" ] = self.edge_named[ "r_b1" ]
    self.root[ "r_b2" ] = self.edge_named[ "r_b2" ]
    self.root[ "r_l1" ] = self.edge_named[ "r_l1" ]

    self.edge_named[ "r_b1" ][ "r_b1_b1" ] = self.edge_named[ "r_b1_b1" ]
    self.edge_named[ "r_b1" ][ "r_b1_l1" ] = self.edge_named[ "r_b1_l1" ]

    self.edge_named[ "r_b1_b1" ][ "r_b1_b1_l1" ] = self.edge_named[ "r_b1_b1_l1" ]
    self.edge_named[ "r_b1_b1" ][ "r_b1_b1_l2" ] = self.edge_named[ "r_b1_b1_l2" ]

    self.edge_named[ "r_b2" ][ "r_b2_l1" ] = self.edge_named[ "r_b2_l1" ]
    self.edge_named[ "r_b2" ][ "r_b2_l2" ] = self.edge_named[ "r_b2_l2" ]
    def setUp(self):

        self.root = single.edge.root()
        self.branch = single.edge.branch(start=1, stop=2)
        self.word = single.word()
        self.leaf = single.edge.leaf(start=4,
                                     length=self.word.length_descriptor(),
                                     label=6)
Example #7
0
  def test_single_leaf(self):

    word = single.word()
    leaf = single.edge.leaf( start = 4, length = word.length_descriptor(), label = 6 )
    res = list( leaf.postorder_iteration() )
    self.assertEqual( res, [ leaf ] )
    self.assertTrue( isinstance( res[0], single.edge ) )

    cl = single.const_edge.from_edge( leaf )
    res = list( cl.postorder_iteration() )
    self.assertEqual( res, [ cl ] )
    self.assertTrue( isinstance( res[0], single.const_edge ) )
Example #8
0
  def setUp(self):

    self.root = single.edge.root()
    self.branch = single.edge.branch( start = 1, stop = 2 )
    self.word = single.word()
    self.leaf = single.edge.leaf( start = 4, length = self.word.length_descriptor(), label = 6 )