How to use evaluate_numeric_condition method in localstack

Best Python code snippet using localstack_python

user_response.py

Source:user_response.py Github

copy

Full Screen

...59 q['value'] = ''60 continue61 if target not in values:62 continue63 numeric_condition = evaluate_numeric_condition(values[target], q['question__reveal_response'])64 if numeric_condition is None:65 if q['question__reveal_response'] and q['question__reveal_response'] != values[target]:66 q['value'] = ''67 elif numeric_condition is False:68 q['value'] = ''69 responses_dict[step] = lst70 return responses_dict71def get_responses_from_session(request):72 return OrderedDict(sorted(request.session.items()))73def get_responses_from_session_grouped_by_steps(request):74 question_list = Question.objects.filter(key__in=question_step_mapping['prequalification'])75 lst = []76 for question in question_list:77 lst += [{'question__conditional_target': question.conditional_target,...

Full Screen

Full Screen

step_completeness.py

Source:step_completeness.py Github

copy

Full Screen

1from django.urls import reverse2from edivorce.apps.core.models import Question3from edivorce.apps.core.utils.question_step_mapping import question_step_mapping, pre_qual_step_question_mapping4def evaluate_numeric_condition(target, reveal_response):5 """6 Tests whether the reveal_response contains a numeric condition. If so, it will7 evaluate the numeric condition and return the results of that comparison.8 :param target: the questions value being tested against9 :param reveal_response: the numeric condition that will be evaluated against10 :return: boolean result of numeric condition evaluation or None if there is no11 numeric condition to evaluate.12 """13 if target == '': # cannot evaluate if answer is blank14 return None15 if reveal_response.startswith('>='):16 return float(target) >= float(reveal_response[2:])17 elif reveal_response.startswith('<='):18 return float(target) <= float(reveal_response[2:])19 elif reveal_response.startswith('=='):20 return float(target) == float(reveal_response[2:])21 elif reveal_response.startswith('<'):22 return float(target) < float(reveal_response[1:])23 elif reveal_response.startswith('>'):24 return float(target) > float(reveal_response[1:])25 return None26def get_step_status(responses_by_step):27 status_dict = {}28 for step, lst in responses_by_step.items():29 if not lst:30 status_dict[step] = "Not started"31 else:32 if is_complete(step, lst)[0]:33 status_dict[step] = "Complete"34 else:35 status_dict[step] = "Started"36 return status_dict37def is_complete(step, lst):38 """39 Check required field of question for complete state40 Required: question is always require user response to be complete41 Conditional: Optional question needed depends on reveal_response value of conditional_target.42 """43 if not lst:44 return False, []45 question_list = Question.objects.filter(key__in=question_step_mapping[step])46 required_list = list(question_list.filter(required='Required').values_list("key", flat=True))47 conditional_list = list(question_list.filter(required='Conditional'))48 complete = True49 missing_responses = []50 for question_key in required_list:51 # everything in the required_list is required52 if not __has_value(question_key, lst):53 complete = False54 missing_responses += [question_key]55 for question in conditional_list:56 # find the response to the conditional target57 for target in lst:58 if target["question_id"] == question.conditional_target:59 if __condition_met(question.reveal_response, target, lst):60 # the condition was met then the question is required.61 # ... so check if it has a value62 if not __has_value(question.key, lst):63 complete = False64 missing_responses += [question.key]65 return complete, missing_responses66def get_formatted_incomplete_list(missed_question_keys):67 """68 Returns a list of dicts that contain the following information for the question69 that was not answered. Each dict contains the name of the question, as stored in70 the database, and the url of the page where the question is found.71 :param missed_question_keys:72 :return: list of dicts.73 """74 missed_questions = []75 for missed_question in Question.objects.filter(key__in=missed_question_keys):76 for step, questions in pre_qual_step_question_mapping.items():77 if missed_question.key in questions:78 missed_questions.append({79 'title': missed_question.name,80 'step_url': reverse('prequalification', kwargs={'step': step})81 })82 return missed_questions83def __condition_met(reveal_response, target, lst):84 # check whether using a numeric condition85 numeric_condition_met = evaluate_numeric_condition(target["value"], reveal_response)86 if numeric_condition_met is None:87 if target["value"] != reveal_response:88 return False89 elif numeric_condition_met is False:90 return False91 # return true if the target is not Conditional92 if target['question__required'] != 'Conditional':93 return True94 else:95 # if the target is Conditional and the condition was met, check the target next96 reveal_response = target["question__reveal_response"]97 conditional_target = target["question__conditional_target"]98 for new_target in lst:99 if new_target["question_id"] == conditional_target:...

Full Screen

Full Screen

rules.py

Source:rules.py Github

copy

Full Screen

...42 ]43 else:44 return isinstance(45 subject_value, numbers.Number46 ) and evaluate_numeric_condition(subject_value, condition)47 return False48def evaluate_numeric_condition(subject_value: numbers.Number, condition: Condition):49 if condition.operator == OperatorType.GT:50 return subject_value > condition.value51 elif condition.operator == OperatorType.GTE:52 return subject_value >= condition.value53 elif condition.operator == OperatorType.LT:54 return subject_value < condition.value55 elif condition.operator == OperatorType.LTE:56 return subject_value <= condition.value...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful