41 lines
2.9 KiB
Python
41 lines
2.9 KiB
Python
from django.test import TestCase
|
|
from ultron.objective.models import Skill, TouchPosition
|
|
from ultron.objective.tools import (
|
|
nb_skill_by_type,
|
|
nb_skill_lte_type,
|
|
compute_completude,
|
|
compute_statistics_by_type,
|
|
)
|
|
|
|
|
|
class ToolsTestCase(TestCase):
|
|
|
|
def setUp(self):
|
|
"""
|
|
|
|
"""
|
|
departure_and_landing, _ = TouchPosition.objects.get_or_create(long_label="debout", short_label="debout")
|
|
|
|
skill_1 = Skill.objects.create(long_label="1/2 vrille", difficulty=0.1, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=1, rank=1)
|
|
skill_3 = Skill.objects.create(long_label="4 pattes", difficulty=0.1, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=1, rank=1)
|
|
skill_2 = Skill.objects.create(long_label="tour", difficulty=0.2, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=2, rank=2)
|
|
skill_4 = Skill.objects.create(long_label="Ventre", difficulty=0.1, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=2, rank=2)
|
|
skill_5 = Skill.objects.create(long_label="3/4 Avant /", difficulty=0.3, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=3, rank=3)
|
|
skill_6 = Skill.objects.create(long_label="Avant /", difficulty=0.6, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=3, rank=3)
|
|
skill_7 = Skill.objects.create(long_label="Barani /", difficulty=0.6, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=4, rank=4)
|
|
skill_8 = Skill.objects.create(long_label="3/4 Avant vrille", difficulty=0.5, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=4, rank=4)
|
|
skill_9 = Skill.objects.create(long_label="Rudy", difficulty=0.8, departure=departure_and_landing, landing=departure_and_landing, position="0", rotation_type="0", rotation="0", twist="1", level=4, rank=4)
|
|
|
|
def test_nb_skill_lte_type(self):
|
|
# Cas "None"
|
|
self.assertEqual(nb_skill_lte_type(2, "unkown_string"), None)
|
|
# Cas normal
|
|
self.assertEqual(nb_skill_lte_type(2, "level"), 4)
|
|
self.assertEqual(nb_skill_lte_type(2, "rank"), 4)
|
|
self.assertEqual(nb_skill_lte_type(4, "level"), 9)
|
|
|
|
def test_compute_completude(self):
|
|
self.assertEqual(compute_completude(10, 1, 4), ('10%', 0))
|
|
self.assertEqual(compute_completude(10, 1, 4), ('10%', 0))
|
|
self.assertEqual(compute_completude(10, 5, 4), ('50%', 2))
|
|
self.assertEqual(compute_completude(10, 10, 4), ('100%', 4)) |