Browse Source

testutils: více řešení má jen jednoho řešitele

export_seznamu_prednasek
Anet 5 years ago
parent
commit
73c440b7fd
  1. 20
      seminar/testutils.py

20
seminar/testutils.py

@ -166,7 +166,7 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
for rocnik in rocniky: for rocnik in rocniky:
k+=1 k+=1
cisla = rocnik_cisla[k-1] cisla = rocnik_cisla[k-1]
for ci in range(3, len(cisla)+1): for ci in range(3, len(cisla)+1): # pro všechna čísla
for pi in range(1, ((size + 1) // 2) + 1): for pi in range(1, ((size + 1) // 2) + 1):
poc_op = rnd.randint(1, 4) # počet opravovatelů poc_op = rnd.randint(1, 4) # počet opravovatelů
@ -206,7 +206,8 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
uloha_zadani = UlohaZadaniNode.objects.create(uloha=p, first_child = zad) uloha_zadani = UlohaZadaniNode.objects.create(uloha=p, first_child = zad)
p.ulohazadaninode = uloha_zadani p.ulohazadaninode = uloha_zadani
otec_syn(cisla[ci-2-1].cislonode, uloha_zadani) otec_syn(cisla[ci-2-1].cislonode, uloha_zadani)
# generování vzorového textu
text_vzoraku = Text.objects.create( text_vzoraku = Text.objects.create(
na_web = rnd.choice(reseni), na_web = rnd.choice(reseni),
do_cisla = rnd.choice(reseni) do_cisla = rnd.choice(reseni)
@ -219,17 +220,18 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
p.opravovatele.set(rnd.sample(organizatori,poc_op)) p.opravovatele.set(rnd.sample(organizatori,poc_op))
p.save() p.save()
# reseni ulohy # generování řešení
poc_reseni = rnd.randint(size // 2, size * 2) poc_reseni = rnd.randint(size // 2, size * 2)
#poc_resitel = rnd.randint(1, 3) <- k čemu je himbajs tahle proměnná? # generujeme náhodný počet řešení
# vybereme nahodny vzorek resitelu o delce poctu reseni
# (nebo skoro vsechny resitele, pokud jich je mene nez pocet reseni)
for ri in range(poc_reseni): for ri in range(poc_reseni):
res_vyber = rnd.sample(resitele, rnd.randint(1, 5)) if rnd.randint(1, 10) == 6:
# cca desetina řešení od více řešitelů
res_vyber = rnd.sample(resitele, rnd.randint(2, 5))
else:
res_vyber = rnd.sample(resitele, 1)
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES)[0])
# problem a resitele přiřadíme později, ManyToManyField # problem a resitele přiřadíme později, ManyToManyField
# se nedá vyplnit v create() # se nedá vyplnit v create()
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES)[0])
#res.save() <- asi smazat
res.resitele.set(res_vyber) res.resitele.set(res_vyber)
res.save() res.save()
hod = Hodnoceni.objects.create( hod = Hodnoceni.objects.create(

Loading…
Cancel
Save