210 lines
8.0 KiB
Python
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)
|