from django.test import TestCase from jarvis.objective.models import ( Educative, Skill, TouchPosition, Routine, RoutineSkill, # Passe, ) from jarvis.core.global_vars import ROUTINE_TYPE_CHOICE class ToolsModels(TestCase): def setUp(self): """Set up des variables pour les test.""" touch_position_1 = TouchPosition.objects.create( long_label="debout", short_label="debout", is_default=True ) touch_position_2 = TouchPosition.objects.create( long_label="quadrupédique", short_label="4 patte", is_default=False ) educ_1 = Educative.objects.create( long_label="1/2 vrille", short_label="1/2T", difficulty=0.1, level=1, rank=1 ) educ_3 = Educative.objects.create( long_label="4 pattes", short_label="4P", difficulty=0.1, level=1, rank=1 ) skill_1 = Skill.objects.create( long_label="Salto arrière groupé", short_label="Arrière o", rotation_type=2, notation="4.-o", rotation=4, twist=0, departure=touch_position_1, landing=touch_position_1, difficulty=0.5, ) skill_2 = Skill.objects.create( long_label="Barani groupé", short_label="Barani o", rotation_type=2, notation=".41o", rotation=4, twist=1, departure=touch_position_1, landing=touch_position_1, difficulty=0.5, ) routine_1 = Routine.objects.create( long_label="BOT Bronze", short_label="Bronze", is_active=True, is_competitive=True, ) routine_skill_1 = RoutineSkill.objects.create( routine=routine_1, skill=skill_1, rank=1 ) routine_skill_1 = RoutineSkill.objects.create( routine=routine_1, skill=skill_2, rank=2 ) def test_touch_position_to_string(self): touch_position = TouchPosition.objects.get(long_label="debout") self.assertEqual(str(touch_position), touch_position.long_label) def test_touch_position_get_default_position(self): # result = pass def test_educative_to_string(self): educ_1 = Educative.objects.get(long_label="1/2 vrille") self.assertEqual( str(educ_1), educ_1.long_label + " (" + educ_1.short_label + " - " + str(educ_1.difficulty) + ")", ) def test_skill_to_string(self): skill_1 = Skill.objects.get(long_label="Salto arrière groupé") self.assertEqual( str(skill_1), skill_1.long_label + " (" + skill_1.notation + ")" ) def test_routine_to_string(self): routine_1 = Routine.objects.get(long_label="BOT Bronze") self.assertEqual( str(routine_1), routine_1.long_label + " (" + routine_1.short_label + ")" ) def test_routine_skill_to_string(self): routine_1 = Routine.objects.get(long_label="BOT Bronze") skill_1 = Skill.objects.get(long_label="Salto arrière groupé") routine_skill_1 = RoutineSkill.objects.get(routine=routine_1, skill=skill_1) self.assertEqual( str(routine_skill_1), str(routine_skill_1.rank) + " - " + routine_skill_1.routine.short_label + " : " + routine_skill_1.skill.short_label, ) # class PasseTestCase(TestCase): # def setUp(self): # """ # Structure finale : # 1 -> 2 # 1 -> 6 # 3 -> 4 -> 5 -> 6 -> 7 # 1 -> 2 -> 9 # 3 -> 4 -> 5 -> 6 -> 7 -> 9 # """ # # 1 et 3 Eductative sans pre-requis # educ_1 = Educative.objects.create( # long_label="1/2 vrille", difficulty=0.1, level=1, rank=1 # ) # educ_3 = Educative.objects.create( # long_label="4 pattes", difficulty=0.1, level=1, rank=1 # ) # def test_is_valid_dot(self): # arg = "" # self.assertEqual(Passe.is_valid_dot(arg), True) # arg = "Q1R1" # self.assertEqual(Passe.is_valid_dot(arg), True) # arg = ".Q1R1" # self.assertEqual(Passe.is_valid_dot(arg), True) # arg = "Q1R1." # self.assertEqual(Passe.is_valid_dot(arg), True) # arg = "Q1.R1" # self.assertEqual(Passe.is_valid_dot(arg), False) # arg = ".Q1.R1." # self.assertEqual(Passe.is_valid_dot(arg), False) # def test_is_valid_subset(self): # subset = "" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[2-8]" # self.assertEqual(Passe.is_valid_subset(subset), True) # subset = "[2--8]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[-5]" # self.assertEqual(Passe.is_valid_subset(subset), True) # subset = "[3-]" # self.assertEqual(Passe.is_valid_subset(subset), True) # subset = "[8-2]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[-]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[1-]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[-1]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[4]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[6-6]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "4" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[6-6" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[66]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "4-8" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "6-]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[4-" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "[6" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "Q1R1 [4-8]" # self.assertEqual(Passe.is_valid_subset(subset), False) # subset = "Q1R1 [-8]" # self.assertEqual(Passe.is_valid_subset(subset), False) # def test_is_valid_routine_type(self): # for item in ROUTINE_TYPE_CHOICE: # self.assertEqual(Passe.is_valid_routine_type(item[1]), True) # routine_type = "" # self.assertEqual(Passe.is_valid_routine_type(routine_type), False) # routine_type = ".Q1R1" # self.assertEqual(Passe.is_valid_routine_type(routine_type), False) # routine_type = "SFS." # self.assertEqual(Passe.is_valid_routine_type(routine_type), False) # routine_type = "Q1R1 [4-8]" # self.assertEqual(Passe.is_valid_routine_type(routine_type), False) # routine_type = "SFS [-8]" # self.assertEqual(Passe.is_valid_routine_type(routine_type), False) # def test_is_valid_regexp_one_arg(self): # arg = "" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), False) # arg = "WC" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), True) # arg = "1|" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), True) # arg = ".Q1R1" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), True) # arg = "Q1R2." # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), True) # arg = ".Q1R1 [4-8" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), False) # arg = "Q1R2. [4-8" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), False) # arg = "Q1R1 [4-8]" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), False) # arg = "Q1R1 [8-4]" # self.assertEqual(Passe.is_valid_regexp_one_arg(arg), False) # def test_is_valid_regexp_two_args(self): # arg1 = "" # arg2 = "" # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), False) # arg1 = "Q1R1" # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), False) # arg2 = "[4-8]" # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), True) # arg2 = "[8-8]" # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), False) # arg2 = "[8-4]" # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), False) # arg2 = "[-8]" # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), True) # arg2 = "[4-]" # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), True) # arg1 = "Q1R1." # self.assertEqual(Passe.is_valid_regexp_two_args(arg1, arg2), True) # def test_is_valid_regexp(self): # regexp = "" # self.assertEqual(Passe.is_valid_regexp(regexp), False) # regexp = "Q1R1 [4-8]" # self.assertEqual(Passe.is_valid_regexp(regexp), True) # regexp = "Q1R1 [8-8]" # self.assertEqual(Passe.is_valid_regexp(regexp), False) # regexp = "Q1R1 [8-4]" # self.assertEqual(Passe.is_valid_regexp(regexp), False) # regexp = "Q1R1 [-8]" # self.assertEqual(Passe.is_valid_regexp(regexp), True) # regexp = "Q1R1 [4-]" # self.assertEqual(Passe.is_valid_regexp(regexp), True) # regexp = "Q1R1. [4-8]" # self.assertEqual(Passe.is_valid_regexp(regexp), True) # regexp = "Q1R1. [4-]" # self.assertEqual(Passe.is_valid_regexp(regexp), True) # regexp = ".Q1R1 [-8]" # self.assertEqual(Passe.is_valid_regexp(regexp), True) # regexp = "Q1R1. [8-8]" # self.assertEqual(Passe.is_valid_regexp(regexp), False) # regexp = ".Q1R1 [8-4]" # self.assertEqual(Passe.is_valid_regexp(regexp), False)