def set_history_ini_fin_range(self, history_ini_fin_range=None): ''' This method is private!!! From the "outside", use set_concurso_and_range() ''' slider = ConcursoExt() HIST_RANGE_DEFAULT = (1, slider.get_n_last_concurso()) self.history_ini_fin_range = volante_functions.return_int_range_or_default_or_raise_ValueError(history_ini_fin_range, HIST_RANGE_DEFAULT) self.redo_place_items_in_the_slots()
def set_int_range(self, int_range): self.int_range = volante_functions.return_int_range_or_default_or_raise_ValueError(int_range, self.DEFAULT_INT_RANGE)
def test_4_raise_ValueError_against_some_inconsistent_attribvalues(self): ''' self.assertRaises(ValueError, VolanteCharacteristics.__init__, cls=VolanteCharacteristics, n_dezenas_no_volante=0) Returns: None ''' # unfortunately, we cannot test n_dezenas_no_volante=0 directly because n_dezenas_no_sorteio will default to the Megasena one, and the error caught will be the comparison one (ie, n_dezenas_no_sorteio > n_dezenas_no_volante); not exactly n_dezenas_no_volante = 0; however, ValueError must be raised ValueError_raised = False try: VolanteCharacteristics(n_dezenas_no_volante=0) except ValueError: # ValueError will be caught, because not directly because of n_dezenas_no_volante=0, but because n_dezenas_no_sorteio > n_dezenas_no_volante (ie, 6 > 0) ValueError_raised = True # subtest 1 self.assertTrue(ValueError_raised) # VolanteCharacteristics(n_dezenas_no_volante='a') does NOT raise ValueError, otherwise, it sets attribute to DEFAULT ValueError_raised = False vc = None try: vc = VolanteCharacteristics(n_dezenas_no_volante='a') except ValueError: ValueError_raised = True # subtest 2 self.assertFalse(ValueError_raised) # subtest 3 self.assertEquals(vc.n_dezenas_no_volante, VolanteCharacteristics.DEFAULT_N_DEZENAS_NO_VOLANTE) # VolanteCharacteristics(n_dezenas_no_sorteio='a')) does NOT raise ValueError, otherwise, it sets attribute to DEFAULT ValueError_raised = False vc = None try: vc = VolanteCharacteristics(n_dezenas_no_sorteio='a') except ValueError: ValueError_raised = True # subtest 4 self.assertFalse(ValueError_raised) # subtest 5 self.assertEquals(vc.n_dezenas_no_sorteio, VolanteCharacteristics.DEFAULT_N_DEZENAS_NO_SORTEIO) # next assert is an inconsistency of having n_dezenas_no_sorteio=2 > n_dezenas_no_volante=1 # self.assertRaises(ValueError, VolanteCharacteristics(n_dezenas_no_sorteio=2, n_dezenas_no_volante=1)) ValueError_raised = False try: VolanteCharacteristics(n_dezenas_no_sorteio=2, n_dezenas_no_volante=1) except ValueError: ValueError_raised = True # subtest 6 self.assertTrue(ValueError_raised) # n_dezenas_no_sorteio=0 must raise ValueError ValueError_raised = False try: VolanteCharacteristics(n_dezenas_no_sorteio=0) except ValueError: ValueError_raised = True # subtest 7 self.assertTrue(ValueError_raised) # int_range = ('a', 1) will not raise an exception, it will otherwise equal int_range to the default default_int_range_to = (1,10); int_range = ('a', 1) int_range = volante_functions.return_int_range_or_default_or_raise_ValueError(int_range,default_int_range_to) # subtest 8 self.assertEquals(int_range, default_int_range_to) # int_range = (2, 1) must raise ValueError in the private function used by the VolanteCharacteristics's Constructor; reason: 2 > 1, ie, first element is greater than the second one int_range = (2, 1) # subtest 9 self.assertRaises(ValueError, volante_functions.return_int_range_or_default_or_raise_ValueError, int_range, default_int_range_to) # The same test as above, but now via the VolanteCharacteristics's Constructor # self.assertRaises(ValueError, VolanteCharacteristics(int_range=(2,1))) ValueError_raised = False try: VolanteCharacteristics(int_range=(2,1)) except ValueError: ValueError_raised = True # subtest 10 self.assertTrue(ValueError_raised)