Best Python code snippet using avocado_python
test_casualty.py
Source:test_casualty.py
...3 game = get_game_turn()4 team = game.get_agent_team(game.actor)5 team.state.rerolls = 06 attacker, defender = get_block_players(game, team)7 attacker.extra_st = defender.get_st() - attacker.get_st() + 1 # make this a 2 die block.8 attacker.extra_skills.append(Skill.BLOCK)9 defender_pos = Square(defender.position.x, defender.position.y)10 # it's a 2 dice block11 BBDie.clear_fixes()12 BBDie.fix_result(BBDieResult.BOTH_DOWN)13 BBDie.fix_result(BBDieResult.BOTH_DOWN)14 D6.FixedRolls.clear()15 # fix the armour roll16 D6.fix_result(5)17 D6.fix_result(5)18 # fix the injury roll to casualty19 D6.fix_result(5)20 D6.fix_result(5)21 # fix the casualty roll #1 (Gouged Eye / MNG)22 D6.fix_result(4)23 D8.fix_result(3)24 game.step(Action(ActionType.START_BLOCK, player=attacker))25 game.step(Action(ActionType.BLOCK, position=defender.position))26 game.step(Action(ActionType.SELECT_BOTH_DOWN))27 assert game.has_report_of_type(OutcomeType.CASUALTY)28 assert defender.state.injuries_gained[0] is CasualtyEffect.MNG29 assert not game.has_report_of_type(OutcomeType.SUCCESSFUL_REGENERATION)30 assert not game.has_report_of_type(OutcomeType.FAILED_REGENERATION)31def test_casualty_regeneration_success():32 game = get_game_turn()33 team = game.get_agent_team(game.actor)34 team.state.rerolls = 035 attacker, defender = get_block_players(game, team)36 attacker.extra_st = defender.get_st() - attacker.get_st() + 1 # make this a 2 die block.37 attacker.extra_skills.append(Skill.BLOCK)38 defender_pos = Square(defender.position.x, defender.position.y)39 defender.extra_skills.append(Skill.REGENERATION)40 # it's a 2 dice block41 BBDie.clear_fixes()42 BBDie.fix_result(BBDieResult.BOTH_DOWN)43 BBDie.fix_result(BBDieResult.BOTH_DOWN)44 D6.FixedRolls.clear()45 # fix the armour roll46 D6.fix_result(5)47 D6.fix_result(5)48 # fix the injury roll to casualty49 D6.fix_result(5)50 D6.fix_result(5)51 # add a value for casualty effect52 D6.fix_result(3)53 # fix the regeneration roll54 D6.fix_result(4)55 game.step(Action(ActionType.START_BLOCK, player=attacker))56 game.step(Action(ActionType.BLOCK, position=defender.position))57 game.step(Action(ActionType.SELECT_BOTH_DOWN))58 assert game.has_report_of_type(OutcomeType.CASUALTY)59 assert game.has_report_of_type(OutcomeType.SUCCESSFUL_REGENERATION)60 assert defender in game.get_reserves(defender.team)61 assert not defender.state.injuries_gained62def test_casualty_regeneration_fail():63 game = get_game_turn()64 team = game.get_agent_team(game.actor)65 team.state.rerolls = 066 attacker, defender = get_block_players(game, team)67 attacker.extra_st = defender.get_st() - attacker.get_st() + 1 # make this a 2 die block.68 attacker.extra_skills.append(Skill.BLOCK)69 defender_pos = Square(defender.position.x, defender.position.y)70 defender.extra_skills.append(Skill.REGENERATION)71 # it's a 2 dice block72 BBDie.clear_fixes()73 BBDie.fix_result(BBDieResult.BOTH_DOWN)74 BBDie.fix_result(BBDieResult.BOTH_DOWN)75 D6.FixedRolls.clear()76 # fix the armour roll77 D6.fix_result(5)78 D6.fix_result(5)79 # fix the injury roll to casualty80 D6.fix_result(5)81 D6.fix_result(5)82 # add a value for casualty effect83 D6.fix_result(4)84 # fix the regeneration roll85 D6.fix_result(3)86 game.step(Action(ActionType.START_BLOCK, player=attacker))87 game.step(Action(ActionType.BLOCK, position=defender.position))88 game.step(Action(ActionType.SELECT_BOTH_DOWN))89 assert game.has_report_of_type(OutcomeType.CASUALTY)90 assert game.has_report_of_type(OutcomeType.FAILED_REGENERATION)91 assert defender not in game.get_reserves(defender.team)92 assert defender.state.injuries_gained93def test_casualty_with_decay():94 game = get_game_turn()95 team = game.get_agent_team(game.actor)96 team.state.rerolls = 097 attacker, defender = get_block_players(game, team)98 attacker.extra_st = defender.get_st() - attacker.get_st() + 1 # make this a 2 die block.99 attacker.extra_skills.append(Skill.BLOCK)100 defender_pos = Square(defender.position.x, defender.position.y)101 defender.extra_skills.append(Skill.DECAY)102 # it's a 2 dice block103 BBDie.clear_fixes()104 BBDie.fix_result(BBDieResult.BOTH_DOWN)105 BBDie.fix_result(BBDieResult.BOTH_DOWN)106 D6.FixedRolls.clear()107 # fix the armour roll108 D6.fix_result(5)109 D6.fix_result(5)110 # fix the injury roll to casualty111 D6.fix_result(5)112 D6.fix_result(5)113 # fix the casualty roll #1 (Gouged Eye / MNG)114 D6.fix_result(4)115 D8.fix_result(3)116 # fix the casualty roll #2 (BH / none)117 D6.fix_result(3)118 D8.fix_result(1)119 game.step(Action(ActionType.START_BLOCK, player=attacker))120 game.step(Action(ActionType.BLOCK, position=defender.position))121 game.step(Action(ActionType.SELECT_BOTH_DOWN))122 assert game.has_report_of_type(OutcomeType.CASUALTY)123 assert defender.state.injuries_gained[0] is CasualtyEffect.MNG124 assert game.has_report_of_type(OutcomeType.MISS_NEXT_GAME)125 assert len(defender.state.injuries_gained) == 1126 assert game.has_report_of_type(OutcomeType.BADLY_HURT)127def test_casualty_with_decay_mng_twice_is_just_one():128 game = get_game_turn()129 team = game.get_agent_team(game.actor)130 team.state.rerolls = 0131 attacker, defender = get_block_players(game, team)132 attacker.extra_st = defender.get_st() - attacker.get_st() + 1 # make this a 2 die block.133 attacker.extra_skills.append(Skill.BLOCK)134 defender_pos = Square(defender.position.x, defender.position.y)135 defender.extra_skills.append(Skill.DECAY)136 # it's a 2 dice block137 BBDie.clear_fixes()138 BBDie.fix_result(BBDieResult.BOTH_DOWN)139 BBDie.fix_result(BBDieResult.BOTH_DOWN)140 D6.FixedRolls.clear()141 # fix the armour roll142 D6.fix_result(5)143 D6.fix_result(5)144 # fix the injury roll to casualty145 D6.fix_result(5)146 D6.fix_result(5)147 # fix the casualty roll #1 (Gouged Eye / MNG)148 D6.fix_result(4)149 D8.fix_result(3)150 # fix the casualty roll #2 (BH / none)151 D6.fix_result(4)152 D8.fix_result(4)153 game.step(Action(ActionType.START_BLOCK, player=attacker))154 game.step(Action(ActionType.BLOCK, position=defender.position))155 game.step(Action(ActionType.SELECT_BOTH_DOWN))156 assert game.has_report_of_type(OutcomeType.CASUALTY)157 assert defender.state.injuries_gained[0] is CasualtyEffect.MNG158 assert game.has_report_of_type(OutcomeType.MISS_NEXT_GAME)159 assert len(defender.state.injuries_gained) == 1160def test_casualty_regeneration_success():161 game = get_game_turn()162 team = game.get_agent_team(game.actor)163 team.state.rerolls = 0164 attacker, defender = get_block_players(game, team)165 attacker.extra_st = defender.get_st() - attacker.get_st() + 1 # make this a 2 die block.166 attacker.extra_skills.append(Skill.BLOCK)167 defender_pos = Square(defender.position.x, defender.position.y)168 defender.extra_skills.append(Skill.REGENERATION)169 defender.extra_skills.append(Skill.DECAY)170 # it's a 2 dice block171 BBDie.clear_fixes()172 BBDie.fix_result(BBDieResult.BOTH_DOWN)173 BBDie.fix_result(BBDieResult.BOTH_DOWN)174 D6.FixedRolls.clear()175 # fix the armour roll176 D6.fix_result(5)177 D6.fix_result(5)178 # fix the injury roll to casualty179 D6.fix_result(5)180 D6.fix_result(5)181 # add a value for casualty effect182 D6.fix_result(3)183 # fix the regeneration roll184 D6.fix_result(4)185 game.step(Action(ActionType.START_BLOCK, player=attacker))186 game.step(Action(ActionType.BLOCK, position=defender.position))187 game.step(Action(ActionType.SELECT_BOTH_DOWN))188 assert game.has_report_of_type(OutcomeType.CASUALTY)189 assert game.has_report_of_type(OutcomeType.SUCCESSFUL_REGENERATION)190 assert defender in game.get_reserves(defender.team)191 assert len(defender.state.injuries_gained) == 0192def test_casualty_regeneration_failure():193 game = get_game_turn()194 team = game.get_agent_team(game.actor)195 team.state.rerolls = 0196 attacker, defender = get_block_players(game, team)197 attacker.extra_st = defender.get_st() - attacker.get_st() + 1 # make this a 2 die block.198 attacker.extra_skills.append(Skill.BLOCK)199 defender_pos = Square(defender.position.x, defender.position.y)200 defender.extra_skills.append(Skill.REGENERATION)201 defender.extra_skills.append(Skill.DECAY)202 # it's a 2 dice block203 BBDie.clear_fixes()204 BBDie.fix_result(BBDieResult.BOTH_DOWN)205 BBDie.fix_result(BBDieResult.BOTH_DOWN)206 D6.FixedRolls.clear()207 # fix the armour roll208 D6.fix_result(5)209 D6.fix_result(5)210 # fix the injury roll to casualty211 D6.fix_result(5)...
DistanceMetric.py
Source:DistanceMetric.py
...31 cl={}32 lines = trajectory.get_lines()33 for q in Q:34 lr = random.choice(lines)35 r = np.linalg.norm(q-lr.get_st())36 ql = []37 for l in lines:38 if(np.linalg.norm(q-l.get_st())<=r):39 ql.append(l)40 cl[q] = ql41 return cl42 43 def calc_landmarkdst_opt(self,Q,trajectory):44 D = []45 cl = filt_lines(Q,trajectory)46 #lines = trajectory.get_lines()47 for q in Q:48 min_dpt = None49 min_d = float('inf')50 51 for l in cl[q]:52 (d,pt) = l.get_dist(q) 53 if(min_d>d):54 min_d = d55 min_dpt = pt56 D.append((min_d,min_dpt))57 return D58 59 def calc_trajectorydst(self,Q,traj_a,traj_b):60 D_a = self.calc_landmarkdst(Q,traj_a)61 D_b = self.calc_landmarkdst(Q,traj_b)62 n = len(Q)63 dist_Q = 064 for i in range(n):65 dist_Q = dist_Q + (D_a[i][0]-D_b[i][0])**266 dist_Q = math.sqrt((1.0/n)*dist_Q)67 dist_Qpi = 068 for i in range(n):69 #print(D_a[i][1])70 #print(D_b[i][1])71 dist_Qpi = dist_Qpi + np.linalg.norm(D_a[i][1]-D_b[i][1])72 dist_Qpi = (1.0/n)*dist_Qpi73 return (dist_Q,dist_Qpi)74 75 def calc_trajectorydst_opt(self,Q,traj_a,traj_b):76 D_a = self.calc_landmarkdst_opt(Q,traj_a)77 D_b = self.calc_landmarkdst_opt(Q,traj_b)78 n = len(Q)79 dist_Q = 080 for i in range(n):81 dist_Q = dist_Q + (D_a[i][0]-D_b[i][0])**282 dist_Q = math.sqrt((1.0/n)*dist_Q)83 dist_Qpi = 084 for i in range(n):85 #print(D_a[i][1])86 #print(D_b[i][1])87 dist_Qpi = dist_Qpi + np.linalg.norm(D_a[i][1]-D_b[i][1])88 dist_Qpi = (1.0/n)*dist_Qpi89 return (dist_Q,dist_Qpi)90 91 def calc_euclideandst(self,traj_a,traj_b):92 lines_a = traj_a.get_lines()93 lines_b = traj_b.get_lines()94 l = min(len(lines_a),len(lines_b))95 ed = 096 for i in range(l):97 diff = lines_a[i].get_st()-lines_b[i].get_st()98 ed = ed + (1.0/l)*math.sqrt(np.dot(diff,np.transpose(diff)))99 return ed100 101# def calc_frechetdst(self,traj_a,traj_b):102# lines_a = traj_a.get_lines()103# lines_b = traj_b.get_lines()104# l = min(len(lines_a),len(lines_b))105# ed = 0106# for i in range(l):107# diff = lines_a[i].get_st()-lines_b[i].get_st()108# ed = ed + (1.0/l)*math.sqrt(np.dot(diff,np.transpose(diff)))109# return ed110 111 def DTW(i,j,c1,c2):112 if(i==0):113 v = np.linalg.norm(c1[0] - c2[j])114 self.D[j][i] = v115 return v116 if(j==0):117 v = np.linalg.norm(c1[i] - c2[0])118 self.D[j][i] = v119 return v120 if(self.D[j][i]!=-1):121 return self.D[j][i]122 v = np.linalg.norm(c1[i]-c2[j])+min(DTW(i-1,j,c1,c2),DTW(i-1,j-1,c1,c2),DTW(i,j-1,c1,c2))123 self.D[j][i] = v124 return v125 126 def calc_dtwdistance(self,traj_a,traj_b):127 lines_a = traj_a.get_lines()128 lines_b = traj_b.get_lines()129 k1 = len(lines_a)130 k2 = len(lines_b)131 c1 = []132 for l in lines_a:133 c1.append(l.get_st())134 c1.append(lines_a[-1].get_en())135 c2 = []136 for l in lines_b:137 c2.append(l.get_st())138 c2.append(lines_b[-1].get_en())139 self.D = [[-1 for i in range(k1+1)] for j in range(k2+1)]140 dst = DTW(k1,k2,c1,c2,self.D)141 return dst142 143 def _c(self,ca, i, j, p, q):144 if ca[i, j] > -1:145 return ca[i, j]146 elif i == 0 and j == 0:147 ca[i, j] = np.linalg.norm(p[i]-q[j])148 elif i > 0 and j == 0:149 ca[i, j] = max(self._c(ca, i-1, 0, p, q), np.linalg.norm(p[i]-q[j]))150 elif i == 0 and j > 0:151 ca[i, j] = max(self._c(ca, 0, j-1, p, q), np.linalg.norm(p[i]-q[j]))152 elif i > 0 and j > 0:153 ca[i, j] = max(154 min(155 self._c(ca, i-1, j, p, q),156 self._c(ca, i-1, j-1, p, q),157 self._c(ca, i, j-1, p, q)158 ),159 np.linalg.norm(p[i]-q[j])160 )161 else:162 ca[i, j] = float('inf')163 return ca[i, j]164 165 def calc_fretchetdistance(self,traj_a,traj_b):166 lines_a = traj_a.get_lines()167 lines_b = traj_b.get_lines()168 k1 = len(lines_a)169 k2 = len(lines_b)170 c1 = []171 for l in lines_a:172 c1.append(l.get_st())173 c1.append(lines_a[-1].get_en())174 c2 = []175 for l in lines_b:176 c2.append(l.get_st())177 c2.append(lines_b[-1].get_en())178 ca = (np.ones((k1, k2), dtype=np.float64) * -1)179 dist = _c(ca, k1-1, k2-1, c1, c2)...
sparse_vector.py
Source:sparse_vector.py
...21 :type d: int22 """23 self._st = defaultdict(float)24 self._d = d25 def get_st(self):26 return self._st27 def get_d(self):28 return self._d29 def put(self, i, value):30 if i < 0 or i >= self.get_d():31 raise AttributeError('Illegal index')32 if value == 0.0:33 del self.get_st()[i]34 else:35 self.get_st()[i] = value36 def get(self, i):37 if i < 0 or i >= self.get_d():38 raise AttributeError('Illegal index')39 if i in self.get_st():40 return self.get_st()[i]41 else:42 return 0.043 # Returns the number of non zero entries in this vector44 def nnz(self):45 return len(self.get_st())46 def dimension(self):47 return self.get_d()48 # Returns the inner product of this vector with the specified vector.49 def dot_spv(self, that):50 if self.get_d() != that.get_d():51 raise AttributeError('Vector lengths disagree')52 _sum = 0.053 if len(self.get_st()) <= len(that.get_st()):54 for i in self.get_st().keys():55 if i in that.get_st():56 _sum += self.get(i) * that.get(i)57 else:58 for i in that.get_st().keys():59 if i in self.get_st():60 _sum += self.get(i) * that.get(i)61 return _sum62 # Returns the inner product of this vector with the specified list.63 def dot(self, that):64 _sum = 0.065 for i in self.get_st().keys():66 _sum += that[i] * self.get(i)67 return _sum68 def magnitude(self):69 return math.sqrt(self.dot_spv(self))70 def scale(self, alpha):71 c = SparseVector(self.get_d())72 for i in self.get_st().keys():73 c.put(i, alpha * self.get(i))74 return c75 def plus(self, that):76 if self.get_d() != that.get_d():77 raise AttributeError('Vector lengths disagree')78 c = SparseVector(self.get_d())79 for i in self.get_st().keys():80 c.put(i, self.get(i))81 for i in that.get_st().keys():82 c.put(i, that.get(i) + c.get(i))83 return c84 def __repr__(self):85 return f'<SparseVector(st={self.get_st()}, d={self.get_d()})>'86def main():87 a = SparseVector(10)88 b = SparseVector(10)89 a.put(3, 0.50)90 a.put(9, 0.75)91 a.put(6, 0.11)92 a.put(6, 0.00)93 b.put(3, 0.60)94 b.put(4, 0.90)95 print("a = ", a)96 print("b = ", b)97 print("a dot b = ", a.dot_spv(b))98 print("a + b = ", a.plus(b))99if __name__ == '__main__':...
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!!