| import socceraction.atomic.spadl as spadlcfg |
| from pandas import testing as tm |
| from pandera.typing import DataFrame |
| from socceraction.atomic.spadl import AtomicSPADLSchema |
| from socceraction.atomic.vaep import features as fs |
|
|
| xfns = [ |
| fs.actiontype, |
| fs.actiontype_onehot, |
| fs.bodypart, |
| fs.bodypart_detailed, |
| fs.bodypart_onehot, |
| fs.bodypart_detailed_onehot, |
| fs.team, |
| fs.time, |
| fs.time_delta, |
| fs.location, |
| fs.polar, |
| fs.movement_polar, |
| fs.direction, |
| fs.goalscore, |
| ] |
|
|
|
|
| def test_same_index(atomic_spadl_actions: DataFrame[AtomicSPADLSchema]) -> None: |
| """The feature generators should not change the index of the input dataframe.""" |
| atomic_spadl_actions.index += 10 |
| game_actions_with_names = spadlcfg.add_names(atomic_spadl_actions) |
| gamestates = fs.gamestates(game_actions_with_names, 3) |
| gamestates = fs.play_left_to_right(gamestates, 782) |
| for fn in xfns: |
| features = fn(gamestates) |
| tm.assert_index_equal(features.index, atomic_spadl_actions.index) |
|
|