Jarvis/jarvis/objective/tests_validators.py

210 lines
8.0 KiB
Python

from django.test import TestCase
from jarvis.core.global_vars import ROUTINE_TYPE_CHOICE
from .validators import (
is_valid_dot,
is_valid_subset,
is_valid_regexp,
is_valid_routine_type,
is_valid_regexp_one_arg,
is_valid_regexp_two_args,
number_of_skill_from_subset,
)
class TestValidatorsModels(TestCase):
def test_number_of_skill_from_subset(self):
subset = ""
educative = None
self.assertEqual(number_of_skill_from_subset(subset, educative), (0, 0, 0))
subset = "[8-4]"
self.assertEqual(number_of_skill_from_subset(subset, educative), (0, 0, 0))
subset = "[4-8]"
self.assertEqual(number_of_skill_from_subset(subset, educative), (4, 8, 5))
subset = "[4-]"
self.assertEqual(number_of_skill_from_subset(subset, educative), (4, 10, 7))
subset = "[-8]"
self.assertEqual(number_of_skill_from_subset(subset, educative), (1, 8, 8))
def test_is_valid_regexp_one_arg(self):
arg = ""
self.assertEqual(is_valid_regexp_one_arg(arg), False)
arg = "WC"
self.assertEqual(is_valid_regexp_one_arg(arg), True)
arg = "1|"
self.assertEqual(is_valid_regexp_one_arg(arg), True)
arg = ".Q1R1"
self.assertEqual(is_valid_regexp_one_arg(arg), True)
arg = "Q1R2."
self.assertEqual(is_valid_regexp_one_arg(arg), True)
arg = ".Q1R1 [4-8"
self.assertEqual(is_valid_regexp_one_arg(arg), False)
arg = "Q1R2. [4-8"
self.assertEqual(is_valid_regexp_one_arg(arg), False)
arg = ".Q1R2. [4-8"
self.assertEqual(is_valid_regexp_one_arg(arg), False)
arg = "Q1R1 [4-8]"
self.assertEqual(is_valid_regexp_one_arg(arg), False)
arg = "Q1R1 [8-4]"
self.assertEqual(is_valid_regexp_one_arg(arg), False)
def test_is_valid_regexp_two_args(self):
routine = ""
subset = ""
self.assertEqual(is_valid_regexp_two_args(routine, subset), False)
routine = "Q1R1"
self.assertEqual(is_valid_regexp_two_args(routine, subset), False)
subset = "[4-8]"
self.assertEqual(is_valid_regexp_two_args(routine, subset), True)
subset = "[8-8]"
self.assertEqual(is_valid_regexp_two_args(routine, subset), False)
subset = "[8-4]"
self.assertEqual(is_valid_regexp_two_args(routine, subset), False)
subset = "[-8]"
self.assertEqual(is_valid_regexp_two_args(routine, subset), True)
subset = "[4-]"
self.assertEqual(is_valid_regexp_two_args(routine, subset), True)
routine = "Q1R1."
self.assertEqual(is_valid_regexp_two_args(routine, subset), True)
routine = ".Q1R1"
self.assertEqual(is_valid_regexp_two_args(routine, subset), True)
routine = ".Q1R1."
self.assertEqual(is_valid_regexp_two_args(routine, subset), False)
def test_is_valid_dot(self):
arg = ""
self.assertEqual(is_valid_dot(arg), True)
arg = "Q1R1"
self.assertEqual(is_valid_dot(arg), True)
arg = ".Q1R1"
self.assertEqual(is_valid_dot(arg), True)
arg = "Q1R1."
self.assertEqual(is_valid_dot(arg), True)
arg = "Q1.R1"
self.assertEqual(is_valid_dot(arg), False)
arg = ".Q1.R1."
self.assertEqual(is_valid_dot(arg), False)
def test_is_valid_routine_type(self):
for item in ROUTINE_TYPE_CHOICE:
self.assertEqual(is_valid_routine_type(item[1]), True)
routine_type = ""
self.assertEqual(is_valid_routine_type(routine_type), False)
routine_type = ".Q1R1"
self.assertEqual(is_valid_routine_type(routine_type), False)
routine_type = "SFS."
self.assertEqual(is_valid_routine_type(routine_type), False)
routine_type = "Q1R1 [4-8]"
self.assertEqual(is_valid_routine_type(routine_type), False)
routine_type = "SFS [-8]"
self.assertEqual(is_valid_routine_type(routine_type), False)
def test_is_valid_subset(self):
"""Exemples :
- [2-8] True
- [-5] True
- [3-] True
- [8-2] False
- [4--8] False
- [-] False
- [1-] False
- [-1] False
- [4] False
- [6-6] False
"""
subset = ""
self.assertEqual(is_valid_subset(subset), False)
subset = "[2-8]"
self.assertEqual(is_valid_subset(subset), True)
subset = "[2--8]"
self.assertEqual(is_valid_subset(subset), False)
subset = "[-5]"
self.assertEqual(is_valid_subset(subset), True)
subset = "[3-]"
self.assertEqual(is_valid_subset(subset), True)
subset = "[8-2]"
self.assertEqual(is_valid_subset(subset), False)
subset = "[-]"
self.assertEqual(is_valid_subset(subset), False)
subset = "[1-]"
self.assertEqual(is_valid_subset(subset), False)
subset = "[-1]"
self.assertEqual(is_valid_subset(subset), False)
subset = "[4]"
self.assertEqual(is_valid_subset(subset), False)
subset = "[6-6]"
self.assertEqual(is_valid_subset(subset), False)
subset = "4"
self.assertEqual(is_valid_subset(subset), False)
subset = "[6-6"
self.assertEqual(is_valid_subset(subset), False)
subset = "[66]"
self.assertEqual(is_valid_subset(subset), False)
subset = "4-8"
self.assertEqual(is_valid_subset(subset), False)
subset = "6-]"
self.assertEqual(is_valid_subset(subset), False)
subset = "[4-"
self.assertEqual(is_valid_subset(subset), False)
subset = "[6"
self.assertEqual(is_valid_subset(subset), False)
subset = "Q1R1 [4-8]"
self.assertEqual(is_valid_subset(subset), False)
subset = "Q1R1 [-8]"
self.assertEqual(is_valid_subset(subset), False)
def test_is_valid_regexp(self):
"""Exemples :
- "" True
- Q1R1 True
- Q1R2 [2-8] True
- Q2R1 [-5] True
- SF [6-] True
- FS [3-7] True
- Q1R1. True
- .Q1R2 True
- Q1R1. [-4] True
- .Q1R2 [4-] True
- .FS [3-7] True
- [2-8] True
- [-5] True
- WC True
- 1| True
"""
regexp = ""
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "Q1R1"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "Q1R1 [4-8]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "Q1R1 [8-8]"
self.assertEqual(is_valid_regexp(regexp), False)
regexp = "Q1R1 [8-4]"
self.assertEqual(is_valid_regexp(regexp), False)
regexp = "Q1R1 [-8]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "Q1R1 [4-]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "Q1R1. [4-8]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "Q1R1. [4-]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = ".Q1R1 [-8]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = ".Q1R1. [-8]"
self.assertEqual(is_valid_regexp(regexp), False)
regexp = "Q1R1. [8-8]"
self.assertEqual(is_valid_regexp(regexp), False)
regexp = ".Q1R1 [8-4]"
self.assertEqual(is_valid_regexp(regexp), False)
regexp = "[2-8]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "[-5]"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "WC"
self.assertEqual(is_valid_regexp(regexp), True)
regexp = "1|"
self.assertEqual(is_valid_regexp(regexp), True)