Ejemplo n.º 1
0
 def test_get_exclusion_words(self):
     for i in range(10):
         text, ws = utils.generate_random_text()
         exclusion_words = utils.get_exclusion_words(text)
         self.assertTrue(
             len(exclusion_words) < len(text.split())
             and len(exclusion_words) > 0)
Ejemplo n.º 2
0
 def test_validate_word_count(self):
     # test 10 randomly generated text
     for i in range(10):
         text, words = utils.generate_random_text()
         cnt = Counter()
         for word in text.split():
             if word not in words.split():
                 cnt[word] += 1
         self.assertTrue(utils.validate_word_count(text, words, dict(cnt)))
Ejemplo n.º 3
0
 def test_validate_word_count(self):
     # test 10 randomly generated text
     for i in range(10):
         text, words = utils.generate_random_text()
         cnt = Counter()
         for word in text.split():
             if word not in words.split():
                 cnt[word] += 1
         self.assertTrue(utils.validate_word_count(text, words, dict(cnt)))
Ejemplo n.º 4
0
def main():
    if request.method == "GET":
        if request.args.get("random"):
            token = utils.generate_token()
            text, words = utils.generate_random_text()
            db_add_text(text, words, token)
        else:
            text_model = db_get_random_text()
            if not text_model: # if nothing in DB, generate random text
                redirect("/?random=true")
            text, words, token = text_model
        resp = { "text": text, "words": words.split(), "token" : token }
        return jsonify(resp)
    else:
        if not request.json or not request.json.get("token") or \
           not request.json.get('text') or not request.json.get('words'):
            abort(400)
        data = request.json
        text_model = db_fetch_text(data.get('token'))
        if not text_model or text_model[0] != data.get('text') or \
           not utils.validate_word_count(text_model[0], text_model[1], data.get('words')):
            abort(400)
        return jsonify({"status": "success"})
Ejemplo n.º 5
0
 def test_generate_random_text(self):
     text, words = utils.generate_random_text()
     for word in words.split():
         self.assertTrue(word in text)
Ejemplo n.º 6
0
 def test_get_exclusion_words(self):
     for i in range(10):
         text, ws = utils.generate_random_text()
         exclusion_words = utils.get_exclusion_words(text)
         self.assertTrue(len(exclusion_words) < len(text.split())
             and len(exclusion_words) > 0)
Ejemplo n.º 7
0
 def test_generate_random_text(self):
     text, words = utils.generate_random_text()
     for word in words.split():
         self.assertTrue(word in text)