Exemple #1
0
 def test_normal(self):
     assert is_list_equals(game.clean("word"), ['d', 'o', 'r', 'w'])
     assert is_list_equals(game.clean("apple"), ['a', 'e', 'l', 'p', 'p'])
     assert is_list_equals(game.clean("cookies"),
                           ['c', 'e', 'i', 'k', 'o', 'o', 's'])
     assert is_list_equals(game.clean("superman"),
                           ['a', 'e', 'm', 'n', 'p', 'r', 's', 'u'])
Exemple #2
0
    def test_normal(self):
        # none match
        word_set = {'milk', 'non', 'wood'}
        word = 'mile'
        assert is_list_equals(
            game.get_possible_answers(game.clean(word), word_set), [])

        # 3 chars match
        word_set = {
            'co',
            'eo',
            'kk',
            'ae',
            'ceo',
            'eco',
            'seo',
            'abc',
            'ahf',
        }
        word = 'ceo'
        assert is_list_equals(
            game.get_possible_answers(game.clean(word), word_set), [
                'eo',
                'co',
                'ceo',
                'eco',
            ])

        # 7 chars match
        word_set = {
            'co', 'so', 'kk', 'ae', 'ceo', 'eco', 'seo', 'abc', 'ahf', 'cook',
            'sick', 'sock', 'anvc', 'cokes', 'fives', 'cookie', 'ancjkq',
            'cookies', 'popular'
        }
        word = 'cookies'
        assert is_list_equals(
            game.get_possible_answers(game.clean(word), word_set), [
                'co',
                'so',
                'ceo',
                'eco',
                'seo',
                'cook',
                'sick',
                'sock',
                'cokes',
                'cookie',
                'cookies',
            ])
Exemple #3
0
def read_input(s: str):
    global text_domain

    chars = game.clean(s)
    key_name = "%s_%s" % (text_domain, "".join(chars))
    g = None

    try:
        cached_data = store.get(key_name)
        print("key_name: %s, found cached_data" % key_name)
        g = json.loads(cached_data.decode("utf8").replace("'", '"'))

    except Exception as e:
        print("key_name: %s, not found cached_data" % str(e))
        answers = game.get_possible_answers(chars)
        g = game.group(answers)

        # save cache
        store.put(key_name, json.dumps(g).encode("utf-8"))

    return {"code": 200, "message": "", "data": g}
Exemple #4
0
 def test_convert_to_lowercase(self):
     assert is_list_equals(game.clean("WoRD"), ['d', 'o', 'r', 'w'])
Exemple #5
0
 def test_order(self):
     assert is_list_equals(game.clean("word"), ['d', 'o', 'r', 'w'])
Exemple #6
0
 def test_only_alphabet_is_allowed(self):
     assert is_list_equals(game.clean("123w4or/d+* 9"),
                           ['d', 'o', 'r', 'w'])
Exemple #7
0
 def test_remove_space(self):
     assert is_list_equals(
         game.clean("word cookies"),
         ['c', 'd', 'e', 'i', 'k', 'o', 'o', 'o', 'r', 's', 'w'])
     assert is_list_equals(game.clean("thai baht"),
                           ['a', 'a', 'b', 'h', 'h', 'i', 't', 't'])
Exemple #8
0
def proceed(word: str) -> None:
    chars = game.clean(word)
    print(chars)
    answers = game.get_possible_answers(chars)
    g = game.group(answers)
    pprint(g, width=80)