예제 #1
0
파일: tests.py 프로젝트: proj5/se2015
    def test_create_exercise(self):
        skill = Skill.objects.get(id=1)
        grade = skill.grade

        skill_num_exercise = skill.num_exercises
        grade_num_exercise = grade.num_exercises

        exercise = Exercise(question="1+1=", question_type="AN", answer="2", skill=skill)
        exercise.save()

        # The number of exercise should increase
        self.assertEqual(skill.num_exercises, skill_num_exercise + 1)
        self.assertEqual(grade.num_exercises, grade_num_exercise + 1)
예제 #2
0
파일: tests.py 프로젝트: wjlrzt/smartoo
 def test_next_exercise(self):
     exercise = Exercise()
     graded_exercise = GradedExercise(exercise=exercise)
     practicer = Practicer(behavior_name='fake', parameters={})
     next_exercise = practicer.next_exercise([graded_exercise], None, None)
     self.assertIsInstance(next_exercise, GradedExercise)
     self.assertEqual(next_exercise, graded_exercise)
예제 #3
0
    def test_create_exercise(self):
        skill = Skill.objects.get(id=1)
        grade = skill.grade

        skill_num_exercise = skill.num_exercises
        grade_num_exercise = grade.num_exercises

        exercise = Exercise(question='1+1=',
                            question_type='AN',
                            answer='2',
                            skill=skill)
        exercise.save()

        # The number of exercise should increase
        self.assertEqual(skill.num_exercises, skill_num_exercise + 1)
        self.assertEqual(grade.num_exercises, grade_num_exercise + 1)
예제 #4
0
def test_exercise_from_template(exercise_template_factory, num_workloads,
                                num_sets):
    exercise_template = exercise_template_factory(workloads=num_workloads,
                                                  workloads__sets=num_sets)

    exercise = Exercise.from_template(exercise_template)

    assert isinstance(exercise, Exercise)
    workloads = exercise.workloads.all()
    assert workloads.count() == num_workloads
    for workload in workloads:
        assert isinstance(workload, Workload)
        sets = workload.sets.all()
        assert sets.count() == num_sets
        if num_sets != 0:
            assert isinstance(sets[0], Set)
예제 #5
0
파일: fake.py 프로젝트: wjlrzt/smartoo
 def create_exercises(self, knowledge_graph):
     prepared_exercises = [
         Exercise(data={
             'question': 'When was Henry VIII of England born?',
             'choices': ['1291', '1391', '1491', '1591'],
             'correct-answer': '1491'
         },
                  semantics={'term-pairs': [['Henry VIII', 'Henry VIII']]}),
         Exercise(
             data={
                 'question':
                 'Who was the successor of Henry VIII of England?',
                 'choices': [
                     'Edward VI of England', 'Henry VII of England',
                     'Elizabeht of York', 'Thomas Cromwell'
                 ],
                 'correct-answer':
                 'Edward VI of England'
             }),
         Exercise(
             data={
                 'question':
                 'How many spouses did Henry VII of England have?',
                 'choices': ['0', '2', '4', '6'],
                 'correct-answer': '6'
             }),
         Exercise(
             data={
                 'question': 'A',
                 'choices': ['1', '2', '3', '4'],
                 'correct-answer': '1'
             }),
         Exercise(
             data={
                 'question': 'B',
                 'choices': ['1', '2', '3', '4'],
                 'correct-answer': '1'
             }),
         Exercise(
             data={
                 'question': 'C',
                 'choices': ['1', '2', '3', '4'],
                 'correct-answer': '1'
             })
     ]
     for exercise in prepared_exercises:
         yield exercise
예제 #6
0
파일: views.py 프로젝트: wwwa/yayaMath
    def bulk_insert(self, request):
        """
        批量插入答题记录
        :return:
        """

        data = request.data

        records = data['records']
        right_ratio = data['right_ratio']

        user = User(id=data['user_id'])
        exercise_card = ExerciseCard(id=data['exercise_card_id'])
        exercise_card_record = ExerciseCardRecord(
            user=user,
            exercise_card=exercise_card,
            total_time=data['total_time'],
            right_ratio=right_ratio,
        )
        exercise_card_record.save()

        for value in records:
            value.pop('id')
            delta_time = value['delta_time']
            record = Record(
                is_right=value['is_right'],
                user_answer=value['user_answer'],
                delta_time=delta_time,
                exercise_card_record=exercise_card_record,
            )
            record.user = user
            record.exercise_card = exercise_card
            record.exercise = Exercise(id=value['exercise'])
            record.save()

        data = ret_data()
        return JsonResponse(data)
 def test_exercise_string_representation(self):
     exercise = Exercise(number=1)
     self.assertEqual(str(exercise), 'Programmieraufgabe 1')
예제 #8
0
def populate(request):
	rtn_dict = {'success': False, "msg": ""}

	try:
		'''
			REMOVE ALL ROWS FROM TABLES
		'''
		Exercise.objects.all().delete()
		Equipment.objects.all().delete()
		Muscle.objects.all().delete()
		BodyPart.objects.all().delete()

		'''
			CREATE BODY PARTS
		'''

		print 'creating body parts'
		body_parts = ["chest", "arm", "core", "leg"]

		for body_part in body_parts:
			part = BodyPart(name=body_part)
			part.save()

		'''
			CREATE MUSCLES
		'''

		print 'creating muscles'
		chest_muscles = ["pectoral"]
		arm_muscles = ["bicep", "tricep", "forearm"]
		leg_muscles = ["calf", "quadracep", "gluteus"]
		core_muscles = ["abdominals", "back_lower", "back_upper", "lats"]
		muscles = {
			"chest": chest_muscles,
			"arm": arm_muscles,
			"leg": leg_muscles,
			"core": core_muscles
		}

		for k, v in muscles.items():
			for muscle_name in v:
				body_part = BodyPart.objects.get(name=k)
				muscle = Muscle(body_part=body_part, name=muscle_name)
				muscle.save()

		'''
			CREATE EQUIPMENT
		'''

		print 'creating equipment'
		equipment_list = ["dumbbell", "bench_press", "yoga_mat", "bench", "jump_rope", "treadmill"]

		for item in equipment_list:
			equipment = Equipment(name=item)
			equipment.save()

		'''
			CREATE EXERCISES
		'''

		print 'creating exercises'

		mu_pectoral = Muscle.objects.get(name="pectoral")
		mu_bicep = Muscle.objects.get(name="bicep")
		mu_tricep = Muscle.objects.get(name="tricep")
		mu_forearm = Muscle.objects.get(name="forearm")
		mu_calf = Muscle.objects.get(name="calf")
		mu_quadracep = Muscle.objects.get(name="quadracep")
		mu_gluteus = Muscle.objects.get(name="gluteus")
		mu_abdominals = Muscle.objects.get(name="abdominals")
		mu_back_lower = Muscle.objects.get(name="back_lower")
		mu_back_upper = Muscle.objects.get(name="back_upper")
		mu_lats = Muscle.objects.get(name="lats")

		eq_dumbbell = Equipment.objects.get(name="dumbbell")
		eq_treadmill = Equipment.objects.get(name="treadmill")
		eq_jump_rope = Equipment.objects.get(name="jump_rope")
		eq_bench = Equipment.objects.get(name="bench") 
		eq_bench_press = Equipment.objects.get(name="bench_press") 


		exercise_list = ["bench_press", "decline_press", "run_treadmill", "pushup_wide", "jogging_treadmill", "bicycling", "stairmaster", "jump_rope", "pull_down", "bicep_curl"]
		bench_press = Exercise(name="bench_press", equipment=eq_bench_press, main_muscle=mu_pectoral)
		decline_press = Exercise(name="decline_press", equipment=eq_bench_press, main_muscle=mu_pectoral)
		run_treadmill = Exercise(name="run_treadmill", equipment=eq_treadmill, main_muscle=mu_calf)
		bicep_curl = Exercise(name="bicep_curl", equipment=eq_dumbbell, main_muscle=mu_bicep)
		pushup_wide = Exercise(name="pushup_wide", main_muscle=mu_pectoral)
		jump_rope = Exercise(name="jump_rope", equipment=eq_jump_rope, main_muscle=mu_calf)

		bench_press.save()
		decline_press.save()
		bicep_curl.save()
		run_treadmill.save()
		pushup_wide.save()
		jump_rope.save()
		rtn_dict['success'] = True
		rtn_dict['msg'] = 'Successfully populated default exercises, muscles, bodyparts, and equipment'
	except Exception as e:
		print 'Error populating exercises, muscles, bodyparts, and equipment: {0}'.format(e)
		rtn_dict['msg'] = 'Error populating exercises, muscles, bodyparts, and equipment: {0}'.format(e)

	return HttpResponse(json.dumps(rtn_dict, cls=DjangoJSONEncoder), content_type="application/json")
 def test_exercise_cannot_have_negative_number(self):
     with self.assertRaises(ValidationError):
         Exercise(number=-1).full_clean()
 def test_exercise_cannot_have_number_zero(self):
     # FieldSmallNumberField includes 0
     with self.assertRaises(ValidationError):
         Exercise(number=0).full_clean()
 def test_duplicate_excercises_are_invalid(self):
     Exercise.objects.create(number=1)
     with self.assertRaises(ValidationError):
         Exercise(number=1).full_clean()
 def test_default_deadline(self):
     exercise = Exercise(number=1)
     self.assertEqual(exercise.deadline, None)
 def test_default_release(self):
     exercise = Exercise(number=1)
     self.assertEqual(exercise.release, None)
 def test_default_description(self):
     exercise = Exercise(number=1)
     self.assertEqual(exercise.description, None)