Example #1
0
 def test_a( self ):
     words = [ 'a' ]
     t = build_trie( words )
     self.assertEqual( t.to_dict() , { 'initial':0 , 'finals':[ 1 ] , 'outputs':{ 1:[ 'a' ] } , 'transitions':{ 0:{ 'a':1 } , 1:{} } } )
     self.assertFalse( t.accept( '' ) )
     self.assertTrue( t.accept( 'a' ) )
     self.assertFalse( t.accept( 'aa' ) )
Example #2
0
 def test_a(self):
     words = ['a']
     t = build_trie(words)
     self.assertEqual(t.to_dict(),
                      {'initial': 0, 'finals':{1}, 'outputs': {1: ['a']}, 'transitions': {0: {'a': 1}, 1: {}}})
     self.assertFalse(t.accept(''))
     self.assertTrue(t.accept('a'))
     self.assertFalse(t.accept('aa'))
Example #3
0
 def test_a_aa_ab( self ):
     words = [ 'a' , 'aa' , 'ab' ]
     t = build_trie( words )
     self.assertEqual( t.to_dict() , { 'initial':0 , 'finals':[ 1 , 2 , 3 ] , 'outputs':{ 1:[ 'a' ] , 2:[ 'aa' ] , 3:[ 'ab' ] } , 'transitions':{ 0:{ 'a':1 } , 1:{ 'a':2 , 'b':3 } , 2:{} , 3:{} } } )
     self.assertFalse( t.accept( '' ) )
     self.assertTrue( t.accept( 'a' ) )
     self.assertFalse( t.accept( 'b' ) )
     self.assertTrue( t.accept( 'aa' ) )
     self.assertTrue( t.accept( 'ab' ) )
Example #4
0
 def test_a_aa_ab(self):
     words = ['a', 'aa', 'ab']
     t = build_trie(words)
     self.assertEqual(t.to_dict(), {'initial': 0, 'finals': {1, 2, 3}, 'outputs': {1: ['a'], 2: ['aa'], 3: ['ab']},
                                    'transitions': {0: {'a': 1}, 1: {'a': 2, 'b': 3}, 2: {}, 3: {}}})
     self.assertFalse(t.accept(''))
     self.assertTrue(t.accept('a'))
     self.assertFalse(t.accept('b'))
     self.assertTrue(t.accept('aa'))
     self.assertTrue(t.accept('ab'))
Example #5
0
 def test_emptyword(self):
     words = ['']
     t = build_trie(words)
     self.assertEqual(t.to_dict(), {'initial': 0, 'finals': set(), 'outputs':{}, 'transitions': {0: {}}})
     self.assertFalse(t.accept(''))
Example #6
0
 def test_a_and_emptyword(self):
     words = ['a', '']
     t = build_trie(words)
     self.assertEqual(t.to_dict(),
                      {'initial': 0, 'finals': {1}, 'outputs': {1: ['a']}, 'transitions': {0: {'a': 1}, 1: {}}})
Example #7
0
 def test_a_and_emptyword( self ):
     words = [ 'a' , '' ]
     t = build_trie( words )
     self.assertEqual( t.to_dict() , { 'initial':0 , 'finals':[ 1 ] , 'outputs':{ 1:[ 'a' ] } , 'transitions':{ 0:{ 'a':1 } , 1:{} } } )
Example #8
0
 def test_emptyword( self ):
     words = [ '' ]
     t = build_trie( words )
     self.assertEqual( t.to_dict() , { 'initial':0 , 'finals':[] , 'transitions':{ 0:{} } } )
     self.assertFalse( t.accept( '' ) )