def test_string_to_symbols_parsing_one_right(self): rule_string = "A->B P=0.4" symbols = SymbolFinder.symbols_from_parsed_rule( rule_string, self.symbols) self.assertEqual(len(symbols), 2) self.assertEqual(symbols[0], self.symbols[0]) self.assertEqual(symbols[1], self.symbols[1])
def _init_symbol_sequence(self, sentence: str): """ Fill the sequence array with the symbols found by the value of every character in the sentence :param sentence: string """ self.sequence = [None] * len(sentence) for i in range(len(sentence)): self.sequence[i] = SymbolFinder.find_symbol_by_char( self.grammar.terminalSymbols, sentence[i])
def __init_symbols_sequence(cyk_values: CykValues): cyk_values.sequence = [None] * len(cyk_values.sentence) for i in range(len(cyk_values.sentence)): cyk_values.sequence[i] = SymbolFinder.find_symbol_by_char(cyk_values.grammar.terminalSymbols, cyk_values.sentence[i])
def test_symbol_not_found(self): value = "e" found_symbol = SymbolFinder.find_symbol_by_char(self.symbols, value) self.assertIsNone(found_symbol)
def test_find_symbol_by_char(self): symbol = Symbol("B", SymbolType.ST_UNIVERSAL) found_symbol = SymbolFinder.find_symbol_by_char( self.symbols, symbol.value) self.assertEqual(found_symbol, symbol)