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)