Best Python code snippet using assertpy_python
assertions.py
Source:assertions.py
...1085 raise TypeError('%s <%s> does not have [] accessor' % (name, type(l).__name__))1086 def _dict_not_equal(self, val, other, ignore=None, include=None):1087 if ignore or include:1088 ignores = self._dict_ignore(ignore)1089 includes = self._dict_include(include)1090 # guarantee include keys are in val1091 if include:1092 missing = []1093 for i in includes:1094 if i not in val:1095 missing.append(i)1096 if missing:1097 self._err('Expected <%s> to include key%s %s, but did not include key%s %s.' % (1098 val,1099 '' if len(includes) == 1 else 's',1100 self._fmt_items(['.'.join([str(s) for s in i]) if type(i) is tuple else i for i in includes]),1101 '' if len(missing) == 1 else 's',1102 self._fmt_items(missing)))1103 if ignore and include:1104 k1 = set([k for k in val if k not in ignores and k in includes])1105 elif ignore:1106 k1 = set([k for k in val if k not in ignores])1107 else: # include1108 k1 = set([k for k in val if k in includes])1109 if ignore and include:1110 k2 = set([k for k in other if k not in ignores and k in includes])1111 elif ignore:1112 k2 = set([k for k in other if k not in ignores])1113 else: # include1114 k2 = set([k for k in other if k in includes])1115 if k1 != k2:1116 return True1117 else:1118 for k in k1:1119 if self._check_dict_like(val[k], check_values=False, return_as_bool=True) and self._check_dict_like(1120 other[k], check_values=False, return_as_bool=True):1121 return self._dict_not_equal(val[k], other[k],1122 ignore=[i[1:] for i in ignores if1123 type(i) is tuple and i[0] == k] if ignore else None,1124 include=[i[1:] for i in self._dict_ignore(include) if1125 type(i) is tuple and i[0] == k] if include else None)1126 elif val[k] != other[k]:1127 return True1128 return False1129 else:1130 return val != other1131 def _dict_ignore(self, ignore):1132 return [i[0] if type(i) is tuple and len(i) == 1 else i \1133 for i in (ignore if type(ignore) is list else [ignore])]1134 def _dict_include(self, include):1135 return [i[0] if type(i) is tuple else i \1136 for i in (include if type(include) is list else [include])]1137 def _dict_err(self, val, other, ignore=None, include=None):1138 def _dict_repr(d, other):1139 out = ''1140 ellip = False1141 for k, v in d.items():1142 if k not in other:1143 out += '%s%s: %s' % (', ' if len(out) > 0 else '', repr(k), repr(v))1144 elif v != other[k]:1145 out += '%s%s: %s' % (', ' if len(out) > 0 else '', repr(k),1146 _dict_repr(v, other[k]) if self._check_dict_like(v, check_values=False,1147 return_as_bool=True) and self._check_dict_like(1148 other[k], check_values=False, return_as_bool=True) else repr(v)...
helpers.py
Source:helpers.py
...134 def _dict_not_equal(self, val, other, ignore=None, include=None):135 """Helper to compare dicts."""136 if ignore or include:137 ignores = self._dict_ignore(ignore)138 includes = self._dict_include(include)139 # guarantee include keys are in val140 if include:141 missing = []142 for i in includes:143 if i not in val:144 missing.append(i)145 if missing:146 return self.error('Expected <%s> to include key%s %s, but did not include key%s %s.' % (147 val,148 '' if len(includes) == 1 else 's',149 self._fmt_items(['.'.join([str(s) for s in i]) if type(i) is tuple else i for i in includes]),150 '' if len(missing) == 1 else 's',151 self._fmt_items(missing)))152 # calc val keys given ignores and includes153 if ignore and include:154 k1 = set([k for k in val if k not in ignores and k in includes])155 elif ignore:156 k1 = set([k for k in val if k not in ignores])157 else: # include158 k1 = set([k for k in val if k in includes])159 # calc other keys given ignores and includes160 if ignore and include:161 k2 = set([k for k in other if k not in ignores and k in includes])162 elif ignore:163 k2 = set([k for k in other if k not in ignores])164 else: # include165 k2 = set([k for k in other if k in includes])166 if k1 != k2:167 # different set of keys, so not equal168 return True169 else:170 for k in k1:171 if self._check_dict_like(val[k], check_values=False, return_as_bool=True) and \172 self._check_dict_like(other[k], check_values=False, return_as_bool=True):173 subdicts_not_equal = self._dict_not_equal(174 val[k],175 other[k],176 ignore=[i[1:] for i in ignores if type(i) is tuple and i[0] == k] if ignore else None,177 include=[i[1:] for i in self._dict_ignore(include) if type(i) is tuple and i[0] == k] if include else None)178 if subdicts_not_equal:179 # fast fail inside the loop since sub-dicts are not equal180 return True181 elif val[k] != other[k]:182 # fast fail inside the loop since values are not equal183 return True184 return False185 else:186 return val != other187 def _dict_ignore(self, ignore):188 """Helper to make list for given ignore kwarg values."""189 return [i[0] if type(i) is tuple and len(i) == 1 else i for i in (ignore if type(ignore) is list else [ignore])]190 def _dict_include(self, include):191 """Helper to make a list from given include kwarg values."""192 return [i[0] if type(i) is tuple else i for i in (include if type(include) is list else [include])]193 def _dict_err(self, val, other, ignore=None, include=None):194 """Helper to construct error message for dict comparison."""195 def _dict_repr(d, other):196 out = ''197 ellip = False198 for k, v in sorted(d.items()):199 if k not in other:200 out += '%s%s: %s' % (', ' if len(out) > 0 else '', repr(k), repr(v))201 elif v != other[k]:202 out += '%s%s: %s' % (203 ', ' if len(out) > 0 else '',204 repr(k),...
call.py
Source:call.py
...114 for a1, a2 in zip(self, other):115 if not (a1 is a2 or a1 == a2):116 return False117 return True118def _dict_include(self, other):119 other_keys = set(other)120 if other_keys != other_keys & self.keys():121 return False122 for k in other_keys:123 a1, a2 = self[k], other[k]124 if not (a1 is a2 or a1 == a2):125 return False126 return True127class dispatch_by_args:128 def __init__(self, func=None, /):129 if func is not None:130 self.default = func131 self.alternates = []132 @staticmethod133 def default(*args, **kwds):134 raise NotImplementedError135 def register(self, fn=None, /, *args, **kwds):136 if fn is None:137 return lambda func, /: self.register(func, *args, **kwds)138 elif not callable(fn):139 return lambda func, /: self.register(func, fn, *args, **kwds)140 self.alternates.append(141 ((args, tuple(kwds.items())), fn))142 return fn143 def __call__(self, *args, **kwds):144 for (pargs, pkwds), fn in self.alternates:145 if _tuple_prefix(args, pargs) and _dict_include(kwds, pkwds):146 return fn(*args, **kwds)147 return self.default(*args, **kwds)148class expand_by_args(dispatch_by_args):149 def __call__(self, *args, **kwds):150 for (pargs, pkwds), fn in self.alternates:151 if _tuple_prefix(args, pargs) and _dict_include(kwds, pkwds):152 return fn(153 *args[len(pargs):],154 **{k: v for k, v in kwds.items() if k not in pkwds},155 )...
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!