3737 LogWheelDestroy ,
3838 LogPlayerMakeGroggy ,
3939 LogPlayerRevive ,
40- LogRedZoneEnded
40+ LogRedZoneEnded ,
41+ LogPhaseChange ,
42+ LogPlayerUseThrowable
4143)
4244from pubg_python .domain .telemetry .objects import (
4345 Location ,
@@ -89,7 +91,10 @@ def test_log_player_create():
8991
9092def test_log_player_position ():
9193 events = telemetry .events_from_type ('LogPlayerPosition' )
92- data = events [0 ]
94+ for i in events :
95+ if isinstance (i .vehicle , Vehicle ):
96+ data = i
97+ break
9398 assert isinstance (data , LogPlayerPosition )
9499 assert isinstance (data .character , Character )
95100 assert isinstance (data .vehicle , Vehicle )
@@ -110,7 +115,10 @@ def test_log_weapon_fire_count():
110115
111116def test_log_player_attack ():
112117 events = telemetry .events_from_type ('LogPlayerAttack' )
113- data = events [62 ]
118+ for e in events :
119+ if e .weapon .item_id != '' :
120+ data = e
121+ break
114122 assert isinstance (data , LogPlayerAttack )
115123 assert isinstance (data .attacker , Character )
116124 assert isinstance (data .weapon , Item )
@@ -128,7 +136,7 @@ def test_log_player_take_damage():
128136 assert isinstance (data , LogPlayerTakeDamage )
129137 assert isinstance (data .attacker , Character )
130138 assert isinstance (data .victim , Character )
131- assert isinstance ( data .damage , float )
139+ assert data .damage > 0
132140 assert data .damage_type_category in DAMAGE_TYPE_MAP
133141 assert data .damage_reason in DAMAGE_REASON
134142 assert data .damage_causer_name in DAMAGE_CAUSER_MAP
@@ -151,7 +159,8 @@ def test_log_player_kill():
151159 assert data .damage_causer_name in DAMAGE_CAUSER_MAP
152160 assert data .damage_reason in DAMAGE_REASON
153161 if data .victim_weapon :
154- assert data .victim_weapon [:- 3 ] in DAMAGE_CAUSER_MAP
162+ cut_idx = data .victim_weapon .index ('_C_' ) + 2
163+ assert data .victim_weapon [:cut_idx ] in DAMAGE_CAUSER_MAP
155164
156165
157166def test_log_parachute_landing ():
@@ -330,7 +339,7 @@ def test_log_vehicle_leave():
330339
331340def test_log_vehicle_destroy ():
332341 events = telemetry .events_from_type ('LogVehicleDestroy' )
333- data = events [3 ]
342+ data = events [0 ]
334343 assert isinstance (data , LogVehicleDestroy )
335344 assert isinstance (data .attacker , Character )
336345 assert isinstance (data .vehicle , Vehicle )
@@ -474,7 +483,8 @@ def test_log_player_make_groggy():
474483 if not data .victim_weapon :
475484 assert True
476485 else :
477- assert data .victim_weapon [:- 3 ] in DAMAGE_CAUSER_MAP
486+ cut_idx = data .victim_weapon .index ('_C_' ) + 2
487+ assert data .victim_weapon [:cut_idx ] in DAMAGE_CAUSER_MAP
478488
479489
480490def test_log_player_revive ():
@@ -491,3 +501,20 @@ def test_log_red_zone_ended():
491501 data = events [0 ]
492502 assert isinstance (data , LogRedZoneEnded )
493503 assert isinstance (data .drivers , list )
504+
505+
506+ def test_log_phase_change ():
507+ events = telemetry .events_from_type ('LogPhaseChange' )
508+ data = events [0 ]
509+ assert isinstance (data , LogPhaseChange )
510+ assert isinstance (data .phase , int )
511+
512+
513+ def test_log_player_use_throwable ():
514+ events = telemetry .events_from_type ('LogPlayerUseThrowable' )
515+ data = events [0 ]
516+ assert isinstance (data , LogPlayerUseThrowable )
517+ assert isinstance (data .attacker , Character )
518+ assert isinstance (data .weapon , Item )
519+ assert isinstance (data .fire_weapon_stack_count , int )
520+ assert data .attack_type in ATTACK_TYPE
0 commit comments