def test_compute_performance__unsolved():
    task = Task.objects.create()
    domain = Domain.objects.create()
    domain.tasks.set([task])
    domain.params.create(name='good_time', chunk=task, value=2*60)
    student = Student.objects.create()
    ts = TaskSession.objects.create(
        student=student, task=task, solved=False, start=ms('0:00'), end=ms('1:00'))
    assert compute_performance(domain, ts) == TaskSession.UNSOLVED
Esempio n. 2
0
def test_compute_performance__unsolved():
    task = Task.objects.create()
    domain = Domain.objects.create()
    domain.tasks.set([task])
    domain.params.create(name='good_time', chunk=task, value=2 * 60)
    student = Student.objects.create()
    ts = TaskSession.objects.create(student=student,
                                    task=task,
                                    solved=False,
                                    start=ms('0:00'),
                                    end=ms('1:00'))
    assert compute_performance(domain, ts) == TaskSession.UNSOLVED
Esempio n. 3
0
def solve_task(domain, task_session):
    if task_session.solved:
        return
    student = task_session.student
    task = task_session.task
    task_session.end = timezone.now()
    task_session.solved = True
    task_session.performance = compute_performance(domain, task_session)
    progress = update_skills(student, task, task_session.performance)
    student.credits += get_earned_credits(student, task)
    student.save()
    task_session.save()
    return progress
Esempio n. 4
0
def solve_task(domain, task_session):
    if task_session.solved:
        return
    student = task_session.student
    task = task_session.task
    task_session.end = timezone.now()
    task_session.solved = True
    task_session.performance = compute_performance(domain, task_session)
    progress = update_skills(student, task, task_session.performance)
    student.credits += get_earned_credits(student, task)
    student.save()
    task_session.save()
    return progress