Skip to content

Commit b78a51a

Browse files
committed
Added new tests
1 parent 3935c5b commit b78a51a

File tree

1 file changed

+59
-6
lines changed

1 file changed

+59
-6
lines changed

src/knesset/mmm/tests.py

+59-6
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1+
# -*- coding: utf-8 -*-
2+
from datetime import datetime
3+
14
from django.test import TestCase
5+
from django.utils import simplejson
6+
from knesset.mmm.fuzzy_match import fuzzy_match
7+
28
from knesset.settings import PROJECT_ROOT
39
from knesset.mks.models import Member
410
from knesset.committees.models import Committee
511
from knesset.mmm.models import Document, text_lookup, verify
612
from knesset.mmm.management.commands.update_mmm import parse_json, combine_jsons
7-
from datetime import datetime
8-
import simplejson
913

1014

1115
matches = PROJECT_ROOT + "/mmm/test_matches.json"
1216
mmm = PROJECT_ROOT + "/mmm/test_mmm.json"
13-
JSON = simplejson.load(open(matches, 'rt'))
14-
MMM = simplejson.load(open(mmm, 'rt'))
15-
OK_CANDIDATES = JSON[0]['entityName']
16-
OK_DATE = datetime.strptime(JSON[0]['date'], '%d/%m/%Y')
1717

1818
class MmmTest(TestCase):
1919
""" Testing mmm functions """
@@ -35,4 +35,57 @@ def test_combine_jsons(self):
3535

3636
self.assertTrue(isinstance(j[0]['author'], basestring))
3737

38+
def test_fuzzy_match(self):
39+
name = u'הוועדה לקידום מעמד האישה'
40+
text = u'מוגש ועדה לקידו4 מעמד האישה'
41+
42+
self.assertTrue(fuzzy_match(name, text))
43+
3844
def test_text_lookup(self):
45+
m1 = Member.objects.create(name=u'משה בינת')
46+
m2 = Member.objects.create(name=u'בני')
47+
text = u'מסמך זה נכתב בשביל משה בינת'
48+
text_fuzzy = u'מסמך זה נכתב לבקשת משה בינט, חבר כנסת'
49+
50+
self.assertTrue(m1.name in text)
51+
self.assertEqual(1, len(text_lookup(Member, text)))
52+
self.assertEqual(1, len(text_lookup(Member, text_fuzzy)))
53+
54+
def test_vairfy(self):
55+
match = {
56+
"docid": "m02254",
57+
"title": u"\u05ea\u05d9\u05e2\u05d5\u05d3 \u05d7\u05d6\u05d5\u05ea\u05d9 \u05d5\u05e7\u05d5\u05dc\u05d9 \u05e9\u05dc \u05d7\u05e7\u05d9\u05e8\u05ea \u05d7\u05e9\u05d5\u05d3\u05d9\u05dd",
58+
"url": u"http://knesset.gov.il/mmm/data/pdf/m02254.pdf",
59+
"entityName": u"\u05d5\u05e2\u05d3\u05ea \u05d4\u05d7\u05d5\u05e7\u05d4 \u05d7\u05d5\u05e7 \u05d5\u05de\u05e9\u05e4\u05d8",
60+
"heading": u"\u05de\u05e1\u05de\u05da \u05d6\u05d4 \u05e0\u05db\u05ea\u05d1 \u05dc\u05e7\u05e8\u05d0\u05ea \u05d3\u05d9\u05d5\u05df \u05d5\u05e2\u05d3\u05ea \u05d4\u05d7\u05d5\u05e7\u05d4 \u05d7\u05d5\u05e7 \u05d5\u05de\u05e9\u05e4\u05d8 \u05e9\u05dc \u05d4\u05db\u05e0\u05e1\u05ea \u05d1\u05e1\u05e2\u05d9\u05e3 23 \u05dc\u05d4\u05e6\u05e2\u05ea \u05d7\u05d5\u05e7 \u05d4\u05d4\u05ea\u05d9\u05d9\u05e2\u05dc\u05d5\u05ea \u05d4\u05db\u05dc\u05db\u05dc\u05d9\u05ea \u05ea\u05d9\u05e7\u05d5\u05e0\u05d9 \u05d7\u05e7\u05d9\u05e7\u05d4 \u05dc\u05d9\u05d9\u05e9\u05d5\u05dd \u05d4\u05ea\u05d5\u05db\u05e0\u05d9\u05ea \u05d4\u05db\u05dc\u05db\u05dc\u05d9\u05ea \u05dc\u05e9\u05e0\u05d9\u05dd 9002 \u05d5 0102 \u05d4\u05ea\u05e9\u05e1\u05d8 90021 \u05dc\u05d4\u05dc\u05df \u05d4\u05e6\u05e2\u05ea \u05d4\u05d7\u05d5\u05e7",
61+
"score": 100,
62+
"date": "2/7/2009",
63+
"id": 10005,
64+
"author": u"\u05d3\u05d9\u05e0\u05d4 \u05e6\u05d3\u05d5\u05e7"
65+
}
66+
67+
match['date'] = datetime.strptime(match['date'], '%d/%m/%Y').date()
68+
69+
mmm_doc = Document.objects.create(
70+
url = match['url'],
71+
title = match['title'],
72+
publication_date = match['date'],
73+
author_names = match['author'],
74+
)
75+
76+
77+
m = Member.objects.create(name='name')
78+
m2 = Member.objects.create(name='name1')
79+
mks = [m.id, m2.id]
80+
committees = []
81+
mmm_doc.req_mks = mks
82+
83+
self.assertEqual(mks, list(mmm_doc.req_mks.values_list('pk', flat=True)))
84+
doc = Document.objects.get(url=match['url'])
85+
86+
# self.assertTrue(verify(match, i, mks, committees))
87+
m3 = Member.objects.create(name='name3')
88+
m4 = Member.objects.create(name='name4')
89+
mks2 = [m3.id, m4.id]
90+
self.assertNotEqual(mks2, list(doc.req_mks.values_list('pk', flat=True)))
91+
self.assertTrue(verify(match, doc, mks2, committees))

0 commit comments

Comments
 (0)