コード例 #1
0
 def test_gender_count(self):
     course_enrollments = CourseEnrollment.objects.filter(
         course_id=self.course_id, user__profile__gender='m')
     distribution = profile_distribution(self.course_id, "gender")
     assert distribution.data['m'] == len(course_enrollments)
     course_enrollments[0].deactivate()
     distribution = profile_distribution(self.course_id, "gender")
     assert distribution.data['m'] == (len(course_enrollments) - 1)
コード例 #2
0
 def test_level_of_education_count(self):
     course_enrollments = CourseEnrollment.objects.filter(
         course_id=self.course_id, user__profile__level_of_education='hs'
     )
     distribution = profile_distribution(self.course_id, "level_of_education")
     self.assertEqual(distribution.data['hs'], len(course_enrollments))
     course_enrollments[0].deactivate()
     distribution = profile_distribution(self.course_id, "level_of_education")
     self.assertEqual(distribution.data['hs'], len(course_enrollments) - 1)
コード例 #3
0
 def test_profile_distribution_easy_choice(self):
     feature = 'gender'
     assert feature in AVAILABLE_PROFILE_FEATURES
     distribution = profile_distribution(self.course_id, feature)
     assert distribution.type == 'EASY_CHOICE'
     assert distribution.data['no_data'] == 0
     assert distribution.data['m'] == (len(self.users) / 3)
     assert distribution.choices_display_names['m'] == 'Male'
コード例 #4
0
 def test_profile_distribution_easy_choice(self):
     feature = 'gender'
     self.assertIn(feature, AVAILABLE_PROFILE_FEATURES)
     distribution = profile_distribution(self.course_id, feature)
     self.assertEqual(distribution.type, 'EASY_CHOICE')
     self.assertEqual(distribution.data['no_data'], 0)
     self.assertEqual(distribution.data['m'], len(self.users) / 3)
     self.assertEqual(distribution.choices_display_names['m'], 'Male')
コード例 #5
0
 def test_profile_distribution_easy_choice_nodata(self):
     feature = 'gender'
     assert feature in AVAILABLE_PROFILE_FEATURES
     distribution = profile_distribution(self.course_id, feature)
     print(distribution)
     assert distribution.type == 'EASY_CHOICE'
     assert hasattr(distribution, 'choices_display_names')
     assert distribution.choices_display_names is not None
     assert 'no_data' in distribution.data
     assert distribution.data['no_data'] == len(self.nodata_users)
コード例 #6
0
 def test_profile_distribution_open_choice(self):
     feature = 'year_of_birth'
     assert feature in AVAILABLE_PROFILE_FEATURES
     distribution = profile_distribution(self.course_id, feature)
     print(distribution)
     assert distribution.type == 'OPEN_CHOICE'
     assert hasattr(distribution, 'choices_display_names')
     assert distribution.choices_display_names is None
     assert 'no_data' not in distribution.data
     assert distribution.data[1930] == 1
コード例 #7
0
 def test_profile_distribution_easy_choice_nodata(self):
     feature = 'gender'
     self.assertIn(feature, AVAILABLE_PROFILE_FEATURES)
     distribution = profile_distribution(self.course_id, feature)
     print(distribution)
     self.assertEqual(distribution.type, 'EASY_CHOICE')
     self.assertTrue(hasattr(distribution, 'choices_display_names'))
     self.assertNotEqual(distribution.choices_display_names, None)
     self.assertIn('no_data', distribution.data)
     self.assertEqual(distribution.data['no_data'], len(self.nodata_users))
コード例 #8
0
 def test_profile_distribution_open_choice(self):
     feature = 'year_of_birth'
     self.assertIn(feature, AVAILABLE_PROFILE_FEATURES)
     distribution = profile_distribution(self.course_id, feature)
     print(distribution)
     self.assertEqual(distribution.type, 'OPEN_CHOICE')
     self.assertTrue(hasattr(distribution, 'choices_display_names'))
     self.assertEqual(distribution.choices_display_names, None)
     self.assertNotIn('no_data', distribution.data)
     self.assertEqual(distribution.data[1930], 1)
コード例 #9
0
 def test_profile_distribution_bad_feature(self):
     feature = 'robot-not-a-real-feature'
     assert feature not in AVAILABLE_PROFILE_FEATURES
     with pytest.raises(ValueError):
         profile_distribution(self.course_id, feature)