def test_soundex(self): self.assertIsNotNone(soundex("a", engine="lk82")) self.assertIsNotNone(soundex("a", engine="udom83")) self.assertIsNotNone(soundex("a", engine="metasound")) self.assertIsNotNone(soundex("a", engine="XXX")) self.assertEqual(lk82("รถ"), "ร3000") self.assertIsNotNone(lk82("เกาะ")) self.assertIsNotNone(lk82("อุยกูร์")) self.assertIsNotNone(lk82("หยากไย่")) self.assertIsNotNone(lk82("หอ")) self.assertEqual(lk82(""), "") self.assertEqual(lk82("น์"), "") self.assertEqual(udom83("รถ"), "ร800000") self.assertEqual(udom83(None), "") self.assertEqual(metasound("บูรณะ"), "บ550") self.assertEqual(metasound("คน"), "ค500") self.assertEqual(metasound("คนA"), "ค500") self.assertEqual(metasound("ดา"), "ด000") self.assertIsNotNone(metasound("จะ")) self.assertIsNotNone(metasound("ปา")) self.assertIsNotNone(metasound("งง")) self.assertIsNotNone(metasound("ลา")) self.assertIsNotNone(metasound("มา")) self.assertIsNotNone(metasound("ยา")) self.assertIsNotNone(metasound("วา")) self.assertEqual(metasound("รักษ์"), metasound("รัก")) self.assertEqual(metasound(""), "")
def test_soundex(self): self.assertIsNotNone(soundex("a", engine="lk82")) self.assertIsNotNone(soundex("a", engine="udom83")) self.assertIsNotNone(soundex("a", engine="metasound")) self.assertIsNotNone(soundex("a", engine="XXX")) self.assertEqual(lk82(None), "") self.assertEqual(lk82(""), "") self.assertEqual(lk82("เหตุ"), lk82("เหด")) self.assertEqual(lk82("รถ"), "ร3000") self.assertIsNotNone(lk82("เกาะ")) self.assertIsNotNone(lk82("อุยกูร์")) self.assertIsNotNone(lk82("หยากไย่")) self.assertIsNotNone(lk82("หอ")) self.assertIsNotNone(lk82("อยู่")) self.assertIsNotNone(lk82("อู่")) self.assertIsNotNone(lk82("อย่าง")) self.assertIsNotNone(lk82("เหย้า")) self.assertIsNotNone(lk82("หยุด")) self.assertIsNotNone(lk82("หืออือ")) self.assertEqual(lk82("น์"), "") self.assertEqual(udom83(None), "") self.assertEqual(udom83(""), "") self.assertEqual(udom83("เหตุ"), udom83("เหด")) self.assertEqual(udom83("รถ"), "ร800000") self.assertEqual(udom83("น์"), "") self.assertEqual(metasound(None), "") self.assertEqual(metasound(""), "") self.assertEqual(metasound("เหตุ"), metasound("เหด")) self.assertEqual(metasound("รักษ์"), metasound("รัก")) self.assertEqual(metasound("บูรณะ"), "บ550") self.assertEqual(metasound("คน"), "ค500") self.assertEqual(metasound("คนA"), "ค500") self.assertEqual(metasound("ดา"), "ด000") self.assertIsNotNone(metasound("จะ")) self.assertIsNotNone(metasound("ปา")) self.assertIsNotNone(metasound("งง")) self.assertIsNotNone(metasound("ลา")) self.assertIsNotNone(metasound("มา")) self.assertIsNotNone(metasound("ยา")) self.assertIsNotNone(metasound("วา")) self.assertIsNotNone(metasound("บูชา")) self.assertIsNotNone(metasound("กมลา")) self.assertIsNotNone(metasound("กาโวกาโว")) self.assertIsNotNone(metasound("สุวรรณา")) self.assertIsNotNone(metasound("ดอยบอย"))
def __init__(self, argv): parser = argparse.ArgumentParser( prog="soundex", description="Convert a text to its sound-based index.", usage=( "thainlp soundex [-a algorithm] <text>\n\n" "algorithms:\n\n" "udom83\n" "lk82\n" "metasound\n\n" f"Default soundex algorithm is {DEFAULT_SOUNDEX_ENGINE}.\n\n" "<text> should be inside double quotes.\n\n" "Example:\n\n" 'thainlp soundex -a lk82 "มอเตอร์ไซค์"\n\n' "--" ), ) parser.add_argument( "-a", "--algo", dest="algorithm", type=str, choices=["udom83", "lk82", "metasound"], help="soundex algorithm", default=DEFAULT_SOUNDEX_ENGINE, ) parser.add_argument( "text", type=str, help="input text", ) args = parser.parse_args(argv[2:]) sdx = soundex(args.text, engine=args.algorithm) print(sdx)
def __init__(self, argv): parser = argparse.ArgumentParser("soundex") parser.add_argument( "subcommand", type=str, nargs="?", help="[udom83|lk82|metasound]" ) parser.add_argument( "-t", "--text", type=str, help="input text", ) args = parser.parse_args(argv[2:3]) cli.exit_if_empty(args.subcommand, parser) subcommand = str.lower(args.subcommand) cli.exit_if_empty(args.text, parser) sdx = "" if subcommand.startswith("udom"): sdx = soundex(args.text, engine="udom83") elif subcommand.startswith("lk"): sdx = soundex(args.text, engine="lk82") elif subcommand.startswith("meta"): sdx = soundex(args.text, engine="metasound") else: raise NotImplementedError( f"Subcommand not available: {subcommand}") print(sdx)
def __init__(self, argv): parser = argparse.ArgumentParser("soundex") parser.add_argument( "--text", type=str, help="text", ) parser.add_argument("--engine", type=str, help="[udom83|lk82|metasound] (default: udom83)", default="udom83") args = parser.parse_args(argv[2:]) cli.exit_if_empty(args.text, parser) sx = soundex(args.text, engine=args.engine) print(sx)