Best Python code snippet using autotest_python
two_arguments.py
Source:two_arguments.py
1from check_type import *2import math3import itertools4def get_list_or_string_item_or_concatenate_yield(a, b, arg):5 if is_int(a) and is_int(b):6 yield int(str(a)+str(b))7 elif is_int(a) and is_list(b):8 yield b[a % len(b)]9 elif is_list(a) and is_int(b):10 yield a[b % len(a)]11 elif is_int(a) and is_str(b):12 yield b[a % len(b)]13 elif is_str(a) and is_int(b):14 yield a[b % len(a)]15 elif is_list(a) and is_list(b):16 yield [a[n % len(a)] for n in b]17 else:18 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))19def is_equal(a, b, arg):20 if is_num(a) and is_num(b):21 yield int(a == b)22 elif type(a) == type(b) and type(a) != str:23 yield int(a == b)24 elif is_list(a):25 yield a.index(b) if b in a else -126 elif is_list(b):27 yield b.index(a) if a in b else -128 elif is_str(a) and is_str(b):29 if (len(a) == 1 or len(b) == 1) and len(a) != len(b):30 if len(a) < len(b):31 yield b.find(a)32 else:33 yield a.find(b)34 else:35 yield int(a == b)36 else:37 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))38def is_less(a, b, arg):39 if is_num(a) and is_num(b):40 yield int(a < b)41 elif is_int(a) and is_list(b):42 yield [b[i%len(b)] for i in range(a)]43 elif is_list(a) and is_int(b):44 yield [a[i%len(a)] for i in range(b)]45 elif is_int(a) and is_str(b):46 yield ''.join([b[i%len(b)] for i in range(a)])47 elif is_str(a) and is_int(b):48 yield ''.join([a[i%len(a)] for i in range(b)])49 else:50 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))51def is_greater(a, b, arg):52 if is_num(a) and is_num(b):53 yield int(a > b)54 elif is_int(a) and is_list(b):55 yield [b[i] for i in range((a+1)%len(b), len(b))]56 elif is_list(a) and is_int(b):57 yield [a[i] for i in range((b+1)%len(a), len(a))]58 elif is_int(a) and is_str(b):59 yield ''.join([b[i] for i in range((a+1)%len(b), len(b))])60 elif is_str(a) and is_int(b):61 yield ''.join([a[i] for i in range((b+1)%len(a), len(a))])62 else:63 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))64def is_leq(a, b, arg):65 if is_num(a) and is_num(b):66 yield int(a <= b)67 elif is_int(a) and is_list(b):68 yield [b[i%len(b)] for i in range(a+1)]69 elif is_list(a) and is_int(b):70 yield [a[i%len(a)] for i in range(b+1)]71 elif is_int(a) and is_str(b):72 yield ''.join([b[i%len(b)] for i in range(a+1)])73 elif is_str(a) and is_int(b):74 yield ''.join([a[i%len(a)] for i in range(b+1)])75 else:76 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))77def is_geq(a, b, arg):78 if is_num(a) and is_num(b):79 yield int(a >= b)80 elif is_int(a) and is_list(b):81 yield [b[i] for i in range(a%len(b), len(b))]82 elif is_list(a) and is_int(b):83 yield [a[i] for i in range(b%len(a), len(a))]84 elif is_int(a) and is_str(b):85 yield ''.join([b[i] for i in range(a%len(b), len(b))])86 elif is_str(a) and is_int(b):87 yield ''.join([a[i] for i in range(b%len(a), len(a))])88 else:89 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))90def is_not(a, b, arg):91 if type(a) == type(b):92 yield int(a != b)93 else:94 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))95def zip_yield(a, b, arg):96 if is_list(a) and is_list(b):97 max_len = max(len(a), len(b))98 yield [([a[i]] if i<len(a) else []) + ([b[i]] if i<len(b) else []) \99 for i in range(max_len)]100 elif is_str(a) and is_str(b):101 max_len = max(len(a), len(b))102 yield "".join([(a[i] if i<len(a) else "") + (b[i] if i<len(b) else "") \103 for i in range(max_len)])104 else:105 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))106def add_yield(a, b, arg):107 if is_num(a) and is_num(b):108 yield a+b109 elif is_num(a) and is_list(b):110 yield [n+a for n in b]111 elif is_list(a) and is_num(b):112 yield [n+b for n in a]113 elif is_list(a) and is_list(b):114 yield a+b115 elif is_str(a) and is_num(b):116 yield a+str(b)117 elif is_num(a) and is_str(b):118 yield str(a)+b119 elif is_list(a):120 yield [c for n in a for c in add_yield(n, b, arg)]121 elif is_list(b):122 yield [c for n in b for c in add_yield(a, n, arg)]123 elif is_str(a) and is_str(b):124 yield a+b125 else:126 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))127def subtract_yield(a, b, arg):128 if is_num(a) and is_num(b):129 yield a-b130 elif is_num(a) and is_list(b):131 yield [a-n for n in b]132 elif is_list(a) and is_num(b):133 yield [n-b for n in a]134 elif is_list(a) and is_list(b):135 yield [n for n in a if n not in set(b)]136 elif is_list(a) and is_str(b):137 yield [n for n in a if n not in set(b)]138 elif is_str(a) and is_list(b):139 yield ''.join([n for n in a if n not in set(b)])140 elif is_str(a) and is_str(b):141 yield ''.join([n for n in a if n not in set(b)])142 else:143 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))144def reverse_subtract_yield(a, b, arg):145 for res in subtract_yield(b, a, arg):146 yield res147def mult_yield(a, b, arg):148 if is_num(a) and is_num(b):149 yield a*b150 elif is_str(a) and is_num(b):151 yield a*int(b)152 elif is_num(a) and is_str(b):153 yield int(a)*b154 elif is_num(a) and is_list(b):155 yield a*b156 elif is_list(a) and is_num(b):157 yield [n2 for n in a for n2 in mult_yield(n, b, arg)]158 elif is_list(a) and is_str(b):159 yield [n2 for n in a for n2 in mult_yield(n, b, arg)]160 elif is_list(a) and is_list(b):161 yield [list(n) for n in itertools.product(a, b)]162 elif is_str(a) and is_list(b):163 if all(isinstance(item, str) for item in b):164 yield ''.join([''.join(n) for n in itertools.product(a, b)])165 else:166 yield [list(n) for n in itertools.product(a, b)]167 elif is_str(a) and is_str(b):168 yield ''.join([''.join(n) for n in itertools.product(a, b)])169 else:170 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))171def reverse_multiply_yield(a, b, arg):172 for res in mult_yield(b, a, arg):173 yield res174def divide_yield(a, b, arg):175 if is_int(a) and is_int(b):176 yield a//b177 elif is_num(a) and is_num(b):178 yield a/b179 elif is_num(a) and is_list(b):180 yield [a//n if is_int(a) and is_int(n) else a/n for n in b]181 elif is_list(a) and is_num(b):182 yield [n//b if is_int(b) and is_int(n) else n/b for n in a]183 elif is_list(a) and is_list(b):184 yield [n for n in a if n in set(b)]185 elif is_str(a) and is_int(b):186 yield [a[i*b:(i+1)*b] for i in range(math.ceil(len(a)/b))]187 elif is_str(a) and is_str(b):188 yield a.split(b)189 elif is_list(a) and is_str(b):190 yield [n for n in a if n != b]191 elif is_str(a) and is_list(b):192 if all(isinstance(item, str) for item in b):193 for n in b:194 a = a.replace(n, "")195 yield a196 elif all(isinstance(item, int) for item in b):197 yield [a[b[i]:b[i+1]] for i in range(len(b)-1)]198 else:199 raise ValueError("[%s][%s]%s is only supported for single type string or int arrays" % (type(a), type(b), arg.char))200 else:201 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))202def reverse_divide_yield(a, b, arg):203 for res in divide_yield(b, a, arg):204 yield res205def power_yield(a, b, arg):206 if is_num(a) and is_num(b):207 yield a**b208 elif is_num(a) and is_list(b):209 yield [a**n for n in b]210 elif is_list(a) and is_num(b):211 yield [n**b for n in a]212 else:213 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))214def reverse_power_yield(a, b, arg):215 for res in power_yield(b, a, arg):216 yield res217def modulo_yield(a, b, arg):218 if is_num(a) and is_num(b):219 yield a%b220 elif is_int(a) and is_list(b):221 yield [n for n in b[::a]]222 elif is_list(a) and is_num(b):223 yield [n%b for n in a]224 elif is_num(a) and is_str(b):225 yield ''.join([n for n in b[::n]])226 else:227 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))228def join_yield(a, b, arg):229 if is_list(a) and is_str(b):230 yield b.join([str(n) for n in a])231 elif is_str(a) and is_list(b):232 yield a.join([str(n) for n in b])233 elif(is_str(a) and is_str(b)):234 yield b.join(list(a))235 elif is_list(a) and is_list(b):236 yield [n.join(a) for n in b]237 else:238 raise ValueError("[%s]%s is not supported" % (type(a),arg.char))239def prepend_list_or_string_yield(a, b, arg):240 if is_num(a) and is_list(b):241 yield [a] + b242 elif is_list(a) and is_num(b):243 yield [b] + a244 elif is_str(a) and is_list(b):245 yield [a] + b246 elif is_list(a) and is_str(b):247 yield [b] + a248 elif is_str(a) and is_num(b):249 yield str(b) + a250 elif is_num(a) and is_str(b):251 yield str(a) + b252 elif is_str(a) and is_str(b):253 yield b + a254 elif is_int(a) and is_int(b):255 yield int(str(b)+str(a))256 elif is_list(a) and is_list(b):257 yield b + a258 else:259 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))260def append_list_or_string_yield(a, b, arg):261 if is_num(a) and is_list(b):262 yield b + [a]263 elif is_list(a) and is_num(b):264 yield a + [b]265 elif is_str(a) and is_list(b):266 yield b + [a]267 elif is_list(a) and is_str(b):268 yield a + [b]269 elif is_str(a) and is_num(b):270 yield a + str(b)271 elif is_num(a) and is_str(b):272 yield b + str(a)273 elif is_str(a) and is_str(b):274 yield a + b275 elif is_int(a) and is_int(b):276 yield int(str(a)+str(b))277 elif is_list(a) and is_list(b):278 yield a + b279 else:280 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))281def increase_array_element_yield(a, b, arg):282 if is_int(a) and is_list(b):283 b[a % len(b)] += 1284 yield b285 elif is_list(a) and is_int(b):286 a[b % len(a)] += 1287 yield a288 else:289 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))290def decrease_array_element_yield(a, b, arg):291 if is_int(a) and is_list(b):292 b[a % len(b)] -= 1293 yield b294 elif is_list(a) and is_int(b):295 a[b % len(a)] -= 1296 yield a297 else:298 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))299def is_divisible_yield(a, b, arg):300 if is_int(a) and is_int(b):301 yield int(a%b == 0)302 elif is_int(a) and is_list(b):303 yield [int(a%n == 0) for n in b]304 elif is_list(a) and is_int(b):305 yield [int(n%b == 0) for n in a]306 else:307 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))308def add(a, b):309 return a+b310def mult(a, b, arg):311 return a*b312def center_string_or_int_yield(a, b, arg):313 if is_int(a) and is_int(b):314 yield str(a).center(b)315 elif is_int(a) and is_str(b):316 yield b.center(a)317 elif is_str(a) and is_int(b):318 yield a.center(b)319 elif is_int(a) and is_list(b):320 yield [str(n).center(a) for n in b]321 elif is_list(a) and is_int(b):322 yield [str(n).center(b) for n in a]323 else:324 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))325def pad_to_equal_length(a, b, arg):326 if is_list(a) and (is_int(b) or is_str(b)):327 max_len = 0328 for n in a:329 max_len = max(max_len, len(str(n)))330 res = []331 for n in a:332 pad = max_len - len(str(n))333 res.append(pad*str(b)+str(n))334 yield res335 elif is_list(b) and (is_int(a) or is_str(a)):336 max_len = 0337 for n in b:338 max_len = max(max_len, len(str(n)))339 res = []340 for n in b:341 pad = max_len - len(str(n))342 res.append(pad*str(a)+str(n))343 yield res344 else:345 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))346def contains_yield(a, b, arg):347 if is_list(a):348 yield 1 if b in a else 0349 elif is_list(b):350 yield 1 if a in b else 0351 elif is_str(a) and is_str(b):352 if len(a) < len(b):353 yield 1 if a in b else 0354 else:355 yield 1 if b in a else 0356 elif is_str(a):357 yield 1 if str(b) in a else 0358 elif is_str(b):359 yield 1 if str(a) in b else 0360 elif is_int(a) and is_int(b):361 yield 1 if str(b) in str(a) else 0362 else:363 raise ValueError("[%s][%s]%s is not supported" % (type(a), type(b), arg.char))364def inclusive_range_yield(a, b, arg):365 if is_int(a) and is_int(b):366 if b < a:367 yield list(range(b, a+1))368 else:369 yield list(range(b, a-1, -1))370 else:...
expr.py
Source:expr.py
...41class Expression(object):42 """43 Base class for all expressions.44 """45 def is_int(self, val = None):46 return False47class Terminal(Expression):48 """49 A terminal object.50 """51 def __init__(self, val, pretty = None):52 """53 Construct a Terminal.54 The val variable is usually a string or an integer. Integers may also55 be passed as strings. The pretty-printer will use the string when56 formatting the expression.57 """58 self.val = val59 self.pretty = pretty60 def __str__(self):61 """62 Return the string expression of this object.63 """64 if self.pretty is None:65 return str(self.val)66 return self.pretty67 def simplify(self):68 """69 Return a simplified version of this sub-expression.70 """71 return self72 def is_int(self, val = None):73 """74 Return True if the value of this Terminal is an integer.75 """76 if type(self.val) is int:77 return val is None or self.val == val78 return False79class FunctionCall(Expression):80 """81 Represent a function call82 """83 def __init__(self, name, args):84 """85 Construct a function call object.86 """87 self.name = _classify(name)88 self.args = [_classify(arg) for arg in args]89 def __str__(self):90 """91 Return the string expression of this object.92 """93 return str(self.name) + '(' + ', '.join([str(arg) for arg in self.args]) + ')'94 def simplify(self):95 """96 Return a simplified version of this sub-expression.97 """98 args = [arg.simplify() for arg in self.args]99 return FunctionCall(self.name, args)100class Parenthesis(Expression):101 """102 Represent a pair of round brackets.103 """104 def __init__(self, val):105 """106 Construct a parenthesis object.107 """108 self.val = _classify(val)109 def simplify(self):110 """111 Return a simplified version of this sub-expression.112 """113 val = self.val.simplify()114 if type(val) is Terminal:115 return val116 return Parenthesis(val)117 def __str__(self):118 """119 Return the string expression of this object.120 """121 return '(' + str(self.val) + ')'122class Add(Expression):123 """124 Represent an addition of operands.125 """126 def __init__(self, lhs, rhs):127 """128 Construct an addition object.129 """130 self.lhs = _classify(lhs)131 self.rhs = _classify(rhs)132 def simplify(self):133 """134 Return a simplified version of this sub-expression.135 """136 lhs = self.lhs.simplify()137 rhs = self.rhs.simplify()138 if lhs.is_int() and rhs.is_int():139 return Terminal(lhs.val + rhs.val)140 if lhs.is_int(0):141 return rhs142 if rhs.is_int(0):143 return lhs144 return Add(lhs, rhs)145 def __str__(self):146 """147 Return the string expression of this object.148 """149 return str(self.lhs) + ' + ' + str(self.rhs)150class Sub(Expression):151 """152 Represent a subtraction of operands.153 """154 def __init__(self, lhs, rhs):155 """156 Construct subtraction object.157 """158 self.lhs = _classify(lhs)159 self.rhs = _classify(rhs)160 def simplify(self):161 """162 Return a simplified version of this sub-expression.163 """164 lhs = self.lhs.simplify()165 rhs = self.rhs.simplify()166 if lhs.is_int() and rhs.is_int():167 return Terminal(lhs.val - rhs.val)168 if lhs.is_int(0):169 return rhs170 if rhs.is_int(0):171 return lhs172 return Sub(lhs, rhs)173 def __str__(self):174 """175 Return the string expression of this object.176 """177 return str(self.lhs) + ' - ' + str(self.rhs)178class Mul(Expression):179 """180 Represent the multiplication of operands.181 """182 def __init__(self, lhs, rhs):183 """184 Construct a multiplication object.185 """186 self.lhs = _classify(lhs)187 self.rhs = _classify(rhs)188 def simplify(self):189 """190 Return a simplified version of this sub-expression.191 """192 lhs = self.lhs.simplify()193 rhs = self.rhs.simplify()194 if lhs.is_int() and rhs.is_int():195 return Terminal(lhs.val * rhs.val)196 if lhs.is_int(0) or rhs.is_int(0):197 return Terminal(0)198 if lhs.is_int(1):199 return rhs200 if rhs.is_int(1):201 return lhs202 return Mul(lhs, rhs)203 def __str__(self):204 """205 Return the string expression of this object.206 """207 return str(self.lhs) + ' * ' + str(self.rhs)208class Shl(Expression):209 """210 Shift left operation.211 """212 def __init__(self, lhs, rhs):213 """214 Construct a shift left object.215 """216 self.lhs = _classify(lhs)217 self.rhs = _classify(rhs)218 def simplify(self):219 """220 Return a simplified version of this sub-expression.221 """222 lhs = self.lhs.simplify()223 rhs = self.rhs.simplify()224 if lhs.is_int() and rhs.is_int():225 return Terminal(lhs.val << rhs.val)226 if lhs.is_int(0):227 return Terminal(0)228 if rhs.is_int(0):229 return lhs230 return Shl(lhs, rhs)231 def __str__(self):232 """233 Return the string expression of this object.234 """235 return str(self.lhs) + ' << ' + str(self.rhs)236class Shr(Expression):237 """238 Shift right operation.239 """240 def __init__(self, lhs, rhs):241 """242 Construct a shift right object.243 """244 self.lhs = _classify(lhs)245 self.rhs = _classify(rhs)246 def simplify(self):247 """248 Return a simplified version of this sub-expression.249 """250 lhs = self.lhs.simplify()251 rhs = self.rhs.simplify()252 if lhs.is_int() and rhs.is_int():253 return Terminal(lhs.val >> rhs.val)254 if lhs.is_int(0):255 return Terminal(0)256 if rhs.is_int(0):257 return lhs258 return Shr(lhs, rhs)259 def __str__(self):260 """261 Return the string expression of this object.262 """263 return str(self.lhs) + ' >> ' + str(self.rhs)264class Or(Expression):265 """266 Logical or operation.267 """268 def __init__(self, lhs, rhs):269 """270 Construct a logical and object.271 """272 self.lhs = _classify(lhs)273 self.rhs = _classify(rhs)274 def simplify(self):275 """276 Return a simplified version of this sub-expression.277 """278 lhs = self.lhs.simplify()279 rhs = self.rhs.simplify()280 if lhs.is_int() and rhs.is_int():281 return Terminal(lhs.val | rhs.val)282 if lhs.is_int(0):283 return rhs284 if rhs.is_int(0):285 return lhs286 return Or(lhs, rhs)287 def __str__(self):288 """289 Return the string expression of this object.290 """291 return str(self.lhs) + ' | ' + str(self.rhs)292class And(Expression):293 """294 Logical and operation.295 """296 def __init__(self, lhs, rhs):297 """298 Construct a logical and object.299 """300 self.lhs = _classify(lhs)301 self.rhs = _classify(rhs)302 def simplify(self):303 """304 Return a simplified version of this sub-expression.305 """306 lhs = self.lhs.simplify()307 rhs = self.rhs.simplify()308 if lhs.is_int() and rhs.is_int():309 return Terminal(lhs.val & rhs.val)310 if lhs.is_int(0) or rhs.is_int(0):311 return Terminal(0)312 return And(lhs, rhs)313 def __str__(self):314 """315 Return the string expression of this object.316 """317 return str(self.lhs) + ' & ' + str(self.rhs)318class Xor(Expression):319 """320 Logical xor operation.321 """322 def __init__(self, lhs, rhs):323 """324 Construct a logical xor object.325 """326 self.lhs = _classify(lhs)327 self.rhs = _classify(rhs)328 def simplify(self):329 """330 Return a simplified version of this sub-expression.331 """332 lhs = self.lhs.simplify()333 rhs = self.rhs.simplify()334 if lhs.is_int() and rhs.is_int():335 return Terminal(lhs.val ^ rhs.val)336 if lhs.is_int(0):337 return rhs338 if rhs.is_int(0):339 return lhs340 return Xor(lhs, rhs)341 def __str__(self):342 """343 Return the string expression of this object.344 """...
test_variable.py
Source:test_variable.py
...15 """16 def get_variable(self,cls):17 v = cls(host=mysql_host,port=mysql_port,user=mysql_user,password=mysql_password)18 return v.value19 def is_int(self,cls,msg=''):20 v = self.get_variable(cls)21 print("{cls.variable_name:32} = {v}".format(cls=cls,v=v))22 self.assertEqual(type(v),int,msg)23 def is_str(self,cls,msg=''):24 v = self.get_variable(cls)25 print("{cls.variable_name:<32} = {v}".format(cls=cls,v=v))26 self.assertEqual(type(v),str,msg)27 def test_ServerID(self):28 self.is_int(variable.ServerID)29 def test_BaseDir(self):30 self.is_str(variable.BaseDir)31 def test_DataDir(self):32 self.is_str(variable.DataDir)33 def test_Port(self):34 self.is_int(variable.Port)35 def test_CharacterSetServer(self):36 self.is_str(variable.CharacterSetServer)37 def test_Socket(self):38 self.is_str(variable.Socket)39 def test_ReadOnly(self):40 self.is_int(variable.ReadOnly)41 def test_SkipNameResolve(self):42 self.is_int(variable.SkipNameResolve)43 def test_LowerCaseTableNames(self):44 self.is_int(variable.LowerCaseTableNames)45 def test_ThreadCacheSize(self):46 self.is_int(variable.ThreadCacheSize)47 def test_TableOpenCache(self):48 self.is_int(variable.TableOpenCache)49 def test_TableDefinitionCache(self):50 self.is_int(variable.TableDefinitionCache)51 def test_TableOpenCacheInstances(self):52 self.is_int(variable.TableOpenCacheInstances)53 def test_MaxConnections(self):54 self.is_int(variable.MaxConnections)55 def test_BinlogFormat(self):56 self.is_str(variable.BinlogFormat)57 def test_LogBin(self):58 self.is_int(variable.LogBin)59 def test_BinlogRowsQueryLogEvents(self):60 self.is_int(variable.BinlogRowsQueryLogEvents)61 def test_LogSlaveUpdates(self):62 self.is_int(variable.LogSlaveUpdates)63 def test_ExpireLogsDays(self):64 self.is_int(variable.ExpireLogsDays)65 def test_BinlogCacheSize(self):66 self.is_int(variable.BinlogCacheSize)67 def test_SyncBinlog(self):68 self.is_int(variable.SyncBinlog)69 def test_ErrorLog(self):70 self.is_str(variable.ErrorLog)71 def test_GtidMode(self):72 self.is_str(variable.GtidMode)73 def test_EnforceGtidConsistency(self):74 self.is_str(variable.EnforceGtidConsistency)75 def test_MasterInfoRepository(self):76 self.is_str(variable.MasterInfoRepository)77 def test_RelayLogInfoRepository(self):78 self.is_str(variable.RelayLogInfoRepository)79 def test_SlaveParallelType(self):80 self.is_str(variable.SlaveParallelType)81 def test_SlaveParallelWorkers(self):82 self.is_int(variable.SlaveParallelWorkers)83 def test_InnodbDataFilePath(self):84 self.is_str(variable.InnodbDataFilePath)85 def test_InnodbTempDataFilePath(self):86 self.is_str(variable.InnodbTempDataFilePath)87 def test_InnodbBufferPoolFilename(self):88 self.is_str(variable.InnodbBufferPoolFilename)89 def test_InnodbLogGroupHomeDir(self):90 self.is_str(variable.InnodbLogGroupHomeDir)91 def test_InnodbLogFilesInGroup(self):92 self.is_int(variable.InnodbLogFilesInGroup)93 def test_InnodbLogFileSize(self):94 self.is_int(variable.InnodbLogFileSize)95 def test_InnodbFileformat(self):96 v = self.get_variable(variable.Version)97 if v.startswith('8'):98 #8.0.x 以ä¸çæ¬å·²ç»ä¸åæinnodb_file_formatåæ°99 pass100 else:101 self.is_str(variable.InnodbFileformat)102 def test_InnodbFilePerTable(self):103 self.is_int(variable.InnodbFilePerTable)104 def test_InnodbOnlineAlterLogMaxSize(self):105 self.is_int(variable.InnodbOnlineAlterLogMaxSize)106 def test_InnodbOpenFiles(self):107 self.is_int(variable.InnodbOpenFiles)108 def test_InnodbPageSize(self):109 self.is_int(variable.InnodbPageSize)110 def test_InnodbThreadConcurrency(self):111 self.is_int(variable.InnodbThreadConcurrency)112 def test_InnodbReadIoThreads(self):113 self.is_int(variable.InnodbReadIoThreads)114 def test_InnodbWriteIoThreads(self):115 self.is_int(variable.InnodbWriteIoThreads)116 def test_InnodbPurgeThreads(self):117 self.is_int(variable.InnodbPurgeThreads)118 def test_InnodbLockWaitTimeout(self):119 self.is_int(variable.InnodbLockWaitTimeout)120 def test_InnodbSpinWaitDelay(self):121 self.is_int(variable.InnodbSpinWaitDelay)122 def test_InnodbAutoincLockMode(self):123 self.is_int(variable.InnodbAutoincLockMode)124 def test_InnodbStatsAutoRecalc(self):125 self.is_int(variable.InnodbStatsAutoRecalc)126 def test_InnodbStatsPersistent(self):127 self.is_int(variable.InnodbStatsPersistent)128 def test_InnodbStatsPersistentSamplePages(self):129 self.is_int(variable.InnodbStatsPersistentSamplePages)130 def test_InnodbBufferPoolInstances(self):131 self.is_int(variable.InnodbBufferPoolInstances)132 def test_InnodbAdaptiveHashIndex(self):133 self.is_int(variable.InnodbAdaptiveHashIndex)134 def test_InnodbChangeBuffering(self):135 self.is_str(variable.InnodbChangeBuffering)136 def test_InnodbChangeBufferMaxSize(self):137 self.is_int(variable.InnodbChangeBufferMaxSize)138 def test_InnodbFlushNeighbors(self):139 self.is_int(variable.InnodbFlushNeighbors)140 def test_InnodbFlushMethod(self):141 self.is_str(variable.InnodbFlushMethod)142 def test_InnodbDoublewrite(self):143 self.is_int(variable.InnodbDoublewrite)144 def test_InnodbLogBufferSize(self):145 self.is_int(variable.InnodbLogBufferSize)146 def test_InnodbFlushLogAtTimeout(self):147 self.is_int(variable.InnodbFlushLogAtTimeout)148 def test_InnodbFlushLogAtTrxCommit(self):149 self.is_int(variable.InnodbFlushLogAtTrxCommit)150 def test_InnodbBufferPoolSize(self):151 self.is_int(variable.InnodbBufferPoolSize)152 def test_Autocommit(self):153 self.is_str(variable.Autocommit)154 def test_InnodbOldBlocksPct(self):155 self.is_int(variable.InnodbOldBlocksPct)156 def test_InnodbOldBlocksTime(self):157 self.is_int(variable.InnodbOldBlocksTime)158 def test_InnodbReadAheadThreshold(self):159 self.is_int(variable.InnodbReadAheadThreshold)160 def test_InnodbRandomReadAhead(self):161 self.is_int(variable.InnodbRandomReadAhead)162 def test_InnodbBufferPoolDumpPct(self):163 self.is_int(variable.InnodbBufferPoolDumpPct)164 def test_InnodbBufferPoolDumpAtShutdown(self):165 self.is_int(variable.InnodbBufferPoolDumpAtShutdown)166 def test_InnodbBufferPoolLoadAtStartup(self):167 self.is_int(variable.InnodbBufferPoolLoadAtStartup)168 def test_QueryCacheLimit(self):169 if not self.get_variable(variable.Version).startswith('8'):170 self.is_int(variable.QueryCacheLimit)171 def test_QueryCacheMinResUnit(self):172 if not self.get_variable(variable.Version).startswith('8'):173 self.is_int(variable.QueryCacheMinResUnit)174 def test_QueryCacheSize(self):175 if not self.get_variable(variable.Version).startswith('8'):176 self.is_int(variable.QueryCacheSize)177 def test_QueryCacheType(self):178 if not self.get_variable(variable.Version).startswith('8'):179 self.is_int(variable.QueryCacheType)180 def test_Version(self):181 self.is_str(variable.Version)182if __name__=="__main__":...
day18.py
Source:day18.py
...6 self.left = ch17 self.right = ch28 self.parent = None9 def is_simple_node(self):10 return is_int(self.left) and is_int(self.right)11 def __repr__(self):12 return f'[{self.left},{self.right}]'13 def magnitude(self):14 mag = 015 if is_int(self.left):16 mag += 3 * self.left17 else:18 mag += 3 * self.left.magnitude()19 if is_int(self.right):20 mag += 2 * self.right21 else:22 mag += 2 * self.right.magnitude()23 return mag24def is_node(v): return isinstance(v, Node)25def is_int(v): return isinstance(v, int)26def parse_snail(d):27 stack = []28 current_level = 029 for c in filter(lambda s: s not in list(', '), d):30 if c == '[':31 current_level += 132 elif c == ']':33 v1 = stack.pop()34 v2 = stack.pop()35 n = Node(current_level, v2, v1)36 if is_node(v1): v1.parent = n37 if is_node(v2): v2.parent = n38 stack.append(n)39 current_level -= 140 else:41 stack.append(int(c))42 return stack[0]43def inc_level(p):44 if not is_node(p): return45 p.level += 146 inc_level(p.left)47 inc_level(p.right)48def add_snails(s1, s2):49 s = Node(0, s1, s2)50 s1.parent = s51 s2.parent = s52 inc_level(s)53 return s54def explode_left(p, v):55 t = p.parent56 if is_int(t.left):57 t.left += v58 return59 prev = p60 while t and prev == t.left:61 prev = t62 t = t.parent63 if t is None: return64 if is_int(t.left):65 t.left += v66 return67 t = t.left68 while is_node(t.right):69 t = t.right70 t.right += v71def explode_right(p, v):72 t = p.parent73 if is_int(t.right):74 t.right += v75 return76 prev = p77 while t and prev == t.right:78 prev = t79 t = t.parent80 if t is None: return81 if is_int(t.right):82 t.right += v83 return84 t = t.right85 while is_node(t.left):86 t = t.left87 t.left += v88def explode_node(n: Node):89 if n is None: return90 p = n.parent91 explode_right(n, n.right)92 explode_left(n, n.left)93 if p.left == n:94 p.left = 095 else:96 p.right = 097def split_node(n: Node):98 if n is None: return99 if is_int(n.left) and n.left > 9:100 v = n.left101 n.left = Node(n.level + 1, floor(v / 2), ceil(v / 2))102 n.left.parent = n103 return104 if is_int(n.right) and n.right > 9:105 v = n.right106 n.right = Node(n.level + 1, floor(v / 2), ceil(v / 2))107 n.right.parent = n108 return109def check_for_explode(p):110 if is_int(p): return None111 if is_node(p) and p.level == 5: return p112 for_explode = check_for_explode(p.left)113 if for_explode: return for_explode114 return check_for_explode(p.right)115def check_for_split(p):116 if is_int(p.left) and is_int(p.right):117 if p.left > 9 or p.right > 9: return p118 return None119 elif is_int(p.left):120 if p.left > 9: return p121 return check_for_split(p.right)122 elif is_int(p.right):123 found = check_for_split(p.left)124 if found: return found125 if p.right > 9: return p126 return None127 else:128 found = check_for_split(p.left)129 if found: return found130 found = check_for_split(p.right)131 if found: return found132 return None133def reduce_snail(snail):134 while True:135 found = check_for_explode(snail)136 if found:...
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!!